➣ Reading Time: 21 minutes

安裝個人常用套件腳本

安裝文字編輯器,螢幕鍵盤 (預防萬一只有滑鼠)

#!/bin/bash
echo "[1/5] update system"
# update, upgrade
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt update -y

# code editor
echo "[2/5] installing code editor"
sudo apt install vim  -y
sudo apt install code -y



# keyboards
echo "[3/5] installing keyboards..."
sudo apt install matchbox-keyboard  -y
sudo apt install florence -y
sudo apt install onboard -y

# apt-get
echo "[4/5] installing apt-get opencv"
sudo apt-get install libcblas-dev -y
sudo apt-get install libhdf5-dev -y
sudo apt-get install libhdf5-serial-dev -y
sudo apt-get install libatlas-base-dev -y
sudo apt-get install libjasper-dev  -y
sudo apt-get install libqtgui4  -y
sudo apt-get install libqt4-test -y


# pip
echo "[5/5] installing pip python-opencv"
pip3 install opencv-python
pip3 install -U numpy

Raspberry Pi 3 系統設定

開機設定檔 (可將 SD 插入其他電腦中進行設定)

sudo vim /boot/config.txt

系統設定 (開啟特定功能需要,例如相機, ssh)

也可以從 GUI 中的 Raspberry Pi 設定中調整,下面附上的是使用 terminal 的方法

sudo raspi-config

可參考:https://ithelp.ithome.com.tw/articles/10235452

關機

sudo shutdown -h now

重新開機

sudo reboot

安裝 zsh or fish

這只是個人習慣,換個比較好用的 shell。

安裝 zsh shell / 自動化腳本

#!/bin/bash
echo "[1/5] update system"
sudo apt-get update -y
sudo apt-get upgrade -y

echo "[2/5] install zsh"
sh -c "(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
sudo apt-get install zsh -y

echo "[3/5] Show all current shells"
cat /etc/shells
echoSHELL

echo "[4/5] install oh-my-zsh"
sh -c "(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

echo "[5/5] change default shell to zsh shell"
chsh -s /bin/zsh
#grep pi /etc/passwd #check change shell in /etc/passwd


# ----- powerlevel10k theme ------ #

echo "install powerlevel10k"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc

echo "[restart] restart zsh"
source ~/.zshrc

echo "[optional] set ~/.zshrc (zsh seetings)"
#vim ~/.zshrc

echo "[optional] set ~/.p10k.zsh (powerlevel10k seetings)"
#p10k configure # GUI version
cp ~/.p10k.zsh ~/.p10k.zsh.bak # backup
vim ~/.p10k.zsh

echo "[restart] restart zsh"
source ~/.zshrc

# ----- zsh plugins ------ #

echo "[optional] install Syntax Highlighting Plugin"
# doc: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git{ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

echo "[optional] install ZSH-AutoSuggestion Plugin"
# doc: https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

echo "[optional] set ~/.zshrc to use plugins"
vim ~/.zshrc
#plugins=(
#git
#zsh-syntax-highlighting
#zsh-autosuggestions
#)

echo "[restart] restart zsh"
source ~/.zshrc

安裝 fish shell / 自動化腳本

#!/bin/bash
echo "[1/5] update system"
sudo apt-get update -y
sudo apt-get upgrade -y

echo "[2/5] install fish"
#sudo apt-add-repository ppa:fish-shell/release-3 # for ubuntu
sudo apt-get install fish -y

echo "[3/5] Show all current shells"
cat /etc/shells
echo $SHELL

echo "[4/5] install oh-my-fish"
curl -L https://get.oh-my.fish | fish


echo "[5/5] change default shell to zsh shell"
chsh -s /usr/bin/fish pi
# chsh -s /usr/bin/fish ubuntu
#grep ubuntu /etc/passwd #check change shell in /etc/passwd

echo "[optional] change oh-my-fish theme"
omf install agnoster
omf theme agnoster

設定 swap memory (用 SD 卡空間增加 ram 量,避免容易因為 memory 不足產生的當機)

swap為虛擬記憶體,當memory不足時,我們可以暫時使用swap空間作為memory使用。
我們可以自己決定要分配多少的 swap memory 給系統。

查看目前系統的 swap 記憶體大小

swapon -s
# 或者,可以使用 top 或安裝 htop 來看目前的 swap 記憶體大小
top
htop

查看目前系統磁碟空間 (剩餘的磁碟大小)

df -h

建立好 swapfile 檔案,並指定要分配多少記憶體大小給他,啟動 swap 記憶體

  • 下面以建立 4G 的記憶體作為示範 (4G 可自行更改)
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

可能會碰到的問題:fallocate: fallocate failed: Text file busy

表示目前的 swap 記憶體正在使用中,需要先關閉swap記憶體

sudo swapoff -a

掛載 /etc/fstab ,使開機能夠自動啟動 swap memory

因為我們的設定並不是永久設定,重新開機時設定會消失,
如果想要開機自動啟用 swap memory,我們可以掛載 /etc/fstab

sudo vim /etc/fstab 

設定值範例如下

/swapfile                                 swap            swap    sw              0       0

重要:確認有無正確設定 swap

如果 swap 設定有問題,可能會導致「無法開機」或更嚴重的後果。

  • 我們可以用以下執令來確認:

sudo mount -a
  • 如果沒有問題,正常來講就不會回傳任何東西。

  • 如果有問題,請再次檢查有沒有哪一個步驟出錯。

有問題的範例:

(這只是隨便舉例,表示沒有設定好內容。)

詳細可參考這篇:https://www.wongwonggoods.com/linux/linux_useful_command/linux-swap/

Reference