1.修改 portsnap 設定檔 (/etc/portsnap.conf)
2.修改 freebsd-update 設定檔 (/etc/freebsd-update.conf)
3.套用安全性修補
套用 FreeBSD 安全性修補的過程已經被簡化,讓系統管理員可使用 freebsd-update
來保持系統更新。更多有關 FreeBSD 安全性報告的資訊可以參考 FreeBSD 安全報告。
FreeBSD 安全性修補可以使用以下指令下載並安裝。 第一個指令會偵測是否有可用的修補,如果有,將列出若執行修補後會變更的檔案清單。第二個指令將會套用修補。
# freebsd-update fetch
# freebsd-update install
如果更新套用了任何核心修補,系統將會需要重新開機以使用修補過的核心。如果修補套用在任何執行中的 Binary,受影響的應用程式應重新啟動來使用修補過的 Binary 版本。
加入以下項目至 /etc/crontab 可設定系統每天自動檢查更新一次:
@daily root freebsd-update cron
如果有新的修補,該程式會會自動下載,但不會執行。root
使用者會收到電子郵件通知複查該修補並手動執行 freebsd-update install
安裝。
如果有發生任何錯誤,freebsd-update
可以使用以下指令還原最後所做的變更:
# freebsd-update rollback
Uninstalling updates... done.
再次強調,若核心或任何核心模組有做過修改應重新啟動系統,以及任何受影響的 Binary 應重新執行。
只有 GENERIC 核心可使用 freebsd-update
自動更新。 如果有安裝自訂的核心,在 freebsd-update
完成安裝更新後,需要重新編譯和重新安裝。 預設的核心名稱為 GENERIC,可使用 uname(1) 指令來檢查安裝的核心。
隨時在 /boot/GENERIC 保留一份 GENERIC 核心的複本將有助於診斷各種問題及執行版本升級。請參考 在 FreeBSD 9.X 及之後版本自訂核心 來了解有關如何取得 GENERIC 核心的複本說明。 |
除非在 /etc/freebsd-update.conf 的預設設定檔被修改,否則 freebsd-update
將會安裝更新後的核心原始碼和其餘的更新,可依平常的方式執行重新編譯與重新安裝核心。
以 freebsd-update
發行的更新並非總是會更新核心。若核心的原始碼沒有被 freebsd-update install
修改則不需要重新編譯自訂的核心。雖然如此 freebsd-update
總是會更新 /usr/src/sys/conf/newvers.sh,目前修補的版本如 uname -r
執行結果中的 -p
數字,便是由該檔取得。即使沒有做任何其他變更,重新編譯自訂核心可讓 uname
準確的回報系統目前的修補版本。當維護多個系統時這會特別有用,因其可讓你快速評估每個系統安裝的更新。
4.FreeBSD升級
# freebsd-update upgrade -r 11.4-RELEASE # freebsd-update install
5.重新開機
# shutdown -r now
6.更新新的元件
# freebsd-update install
7.再重開機一次
# shutdown -r now
8.確認FreeBSD版本
# uname -a