寫在前面
在系統升級之前,正確的觀念可以讓風險降到最低:
- 先進行系統備份,至少要包含系統的部份 (假定升級不會影響個人資料)。
- 時間點: 一定不要選在後面有事情需要用到電腦的時候。選在週末,即使發生意外也可以從容處理。
系統備份
首先安裝rsync:
# sudo pacman -S rsync
使用rsync將系統root進行備份。在這裡排除掉用戶的家目錄 "/home",以及個人自訂放資料的地方"/data1"以及"/data2",還有其他無須備份的資料夾,要注意這裡把備份檔案放在/data2底下,因此務必要排除/data2,以免無限迴圈:
# sudo rsync -aAXv /* --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/data1/*,/data2/*,/home/*} /data2/
確認備份成功,再開始進行系統升級
系統升級
如果有用yaourt安裝AUR的套件,我也建議用pacman先升級官方的套件,確認沒問題再用yaourt升級剩餘套件
# sudo pacman -Syu
使用yaourt升級剩餘套件,注意到很多AUR裡面的套件可能是要從源碼編譯的,所以時間要很長,這一點可能要更小心的避免影響到個人行程:
# yaourt -Syu --aur
如果升級過程牽涉到編譯, 你可能會想要調整參數來加速編譯。 首先編輯設定檔案:
# sudo nano -w /etc/make.conf
找到
#MAKEFLAGS="-j2"
這一行,把開頭的#註解符號拿掉, 然後修改-j的參數, 修改的數值取決於你的cpu執行緒數目以及你想要的是什麼。
例如, 如果你的cpu是8核心且具有超執行緒功能 (執行緒=16), 你想要讓cpu全部執行緒都進行編譯,過程中這台電腦不做任何其他事情,那麼把-j設為17就可以了。
再例如,如果你的cpu是4核心且不具備超執行緒功能 (執行緒=4),你想要在編譯的同時做一些簡單的文書工作,那麼可以把-j設置為2-3,保留1-2個執行緒來處理的的文書工作。