在玩 FreeBSD 系統一定會常常需要升級 security 的 patch,之前寫過一篇手動升級 FreeBSD security patch:FreeBSD 的 security patch 跟 如何 upgrade,那篇寫的內容也很容易瞭解,那現在又有另一種升級方式,就是利用 FreeBSD 內建指令 freebsd-update,這是可以 fetch 或者是 install 和 rollback binary 升級系統,不過這指令只能用在 Release Engineering 的系統上面,例如 FreeBSD 7.1-RELEASE and FreeBSD 7.1-RC1,不可以使用在 FreeBSD 6.2-STABLE 或者是 FreeBSD 7.0-CURRENT 版本上面,那在 DK大神 blog 上面有寫一篇可以升級 PRERELEASE 系統:用 freebsd-update 將 FreeBSD 7.1-PRERELEASE 升級到 7.1-RELEASE,這方法可以騙過 freebsd-update 指令,不過我想本身要對 FreeBSD 很熟阿,不然會遇到很多地雷阿。 基本 OPTIONS 如下:
-b basedir -- 指定系統掛載根目錄 預設值:/ (default: /) -d workdir -- 檔案暫存的地方 (default: /var/db/freebsd-update/) -f conffile -- 讀取基本設定檔 (default: /etc/freebsd-update.conf) -k KEY -- Trust an RSA key with SHA256 hash of KEY -r release -- 指定 Release 版本 (e.g., 6.2-RELEASE) -s server -- 指定抓取哪一台伺服器 (default: update.FreeBSD.org) -t address -- 搭配 corn 指定 email,當執行完畢,寄信通知使用者 (default: root)
基本 command 用法:
fetch:抓取可用的 binary update 檔案 cron:隨機休息 1~3600 秒數,當有指定 fetch 就會開始下載 binary 檔案,可以指定 -t 參數來達到下載好之後通知使用者 upgrade:搭配 -r 參數指定需要升級版本,如:7.1-RELEASE rollback:可以反安裝最近升級的系統系統 freebsd-update fetch 畫面:
# # 先 fetch # freebsd-update fetch -r 7.1-RELEASE # # 升級安全性 # freebsd-update install -r 7.1-RELEASE # # 升級好重新開機,就可以看到 uname -a FreeBSD 7.1-RELEASE-p4 FreeBSD 7.1-RELEASE-p4 #2後面 p4 代表 SA patch 次數,可以參考:
FreeBSD-SA-09:06.ktimer,裡面寫到:
Topic: Local privilege escalation Category: core Module: kern Announced: 2009-03-23 Affects: FreeBSD 7.x Corrected: 2009-03-23 00:00:50 UTC (RELENG_7, 7.2-PRERELEASE) 2009-03-23 00:00:50 UTC (RELENG_7_1, 7.1-RELEASE-p4) 2009-03-23 00:00:50 UTC (RELENG_7_0, 7.0-RELEASE-p11) CVE Name: CVE-2009-1041 表示 7.1-RELEASE 出來,第四次發布 patch,7.0-RELEASE 發布第11次。 可以利用 cron 放入 crontab
0 4 * * * root /usr/sbin/freebsd-update -t appleboy@XXXX.com cron參考網站:
freebsd-update 擷取及安裝binary更新FreeBSD
See also
- OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778
- StartSSL 關閉註冊 OpenSSL CVE-2014-0160 Heartbleed Security
- 安裝 XCache 加速 PHP 執行速度
- 好用 PHP debug extension Xdebug on FreeBSD 安裝
- [FreeBSD] 利用 fsck 指令修復不正常斷電關機
- ProFTPD UseEncoding 繁體中文亂碼解決 Localization
- [FreeBSD] update apache -> 2.2.15, PHP -> 5.3.2, and MySQL downgrade to 5.1.9
- Apache 取得透過 Reverse Proxy (Varnish) 的 Client 真正 IP (mod_rpaf)
- [Vim] 想套用 *.php syntax 顏色於 *.ros
- [FreeBSD] DenyHosts 設定在 hosts.allow 注意事項