FreeBSD分為CURRENT與RELEASE兩個版本,CURRENT經過幾年開發後就會成為下一個RELEASE版本。釋出大版本更新之後,使用者就可以升級到下一個版本。例如從FreeBSD 14 → FreeBSD 15。
1. 更新前的檢查事項#
FreeBSD每個版本的維護週期請參見官網和FreeBSD Release Engineering。推出新版本系統之後,你還是可以繼續使用舊版系統很長一段時間的,直到官方EOL,不用急著升級。
升級前請記得到官網看一下Release Note,看有沒有什麼問題再升級。
FreeBSD的基本系統跟第三方套件的更新是分開的,這裡我們要進行更新的是FreeBSD的base部份的系統,升級過程中。透過pkg安裝的二進位套件會自動進行升級。至於使用Ports手動編譯安裝的軟體,可能需要在升級之後重新編譯一次。
升級前做好備份,還有準備LiveUSB隨身碟,免得升級系統後開不了機才能進入救援。(常見救援技巧:開機選Single User Mode,並以mount -u /就能以Root登入系統。另外/resurce目錄下有一些緊急情況下可以使用的靜態連結檔工具)。
2. 使用freebsd-update進行大版本更新#
FreeBSD系統內建freebsd-update這個工具用於處理大版本更新。
- 確認目前系統版本
sudo freebsd-version- 在那之前先更新系統所有套件到最新版本,以及安裝安全性更新:
sudo pkg update
sudo pkg upgrade
sudo freebsd-update fetch
sudo freebsd-update install- 更新需要指定版本,參閱Release Information | The FreeBSD Project,例如從FreeBSD 14升級到15。一次升級一個大版本就好,不要跨越兩個以上大版本。
sudo freebsd-update upgrade -r 15.0-RELEASE依照畫面指示下載更新檔,檢視哪些程式的設定檔會被新版的覆蓋
接著,安裝更新(中間可能要多次重開機執行此指令)
sudo freebsd-update install重開機。
然後再更新套件
sudo pkg update
sudo pkg upgrade- 如果更新出問題,可以嘗試回復到上一個版本:
sudo freebsd-update rollback- 確認更新後的系統版本
sudo freebsd-version

