Thursday, July 23, 2009

FreeBSD 的 security patch 跟 如何 upgrade

剛剛看到 chinsan’s Blog 裡面提到 關於 FreeBSD 的 security patch 是怎麼處理的?,這篇寫的非常不錯,所以順道把手上機器都全部處理了 upgrade 系統了,當然首先是要先習慣閱讀 /usr/src/UPDATING 跟 /usr/ports/UPDATING,當然這兩個其中一個是系統的安全性更新,一個是 ports tree 安全性更新。

裡面 chinsan 大大提到的 SA(Security Advisories)

http://www.freebsd.org/security/advisories.html
相關反應管道請參考 http://security.freebsd.org

這裡的 SA 其實也可以在 /usr/src/UPDATING 這裡面看到,但是網頁版似乎比較好,我提供解法,做起來也不會很困難。

嗯嗯,要升級系統安全性,首先先去修改 /usr/share/examples/cvsup/standard-supfile
把 cvs tag 採 RELENG_7 改成 cvs tag 採 RELENG_7_0

然後再去修改 /etc/make.conf 加上底下:
KERNCONF=GENERIC
SUPHOST=cvsup.tw.FreeBSD.org
SUPFILE=/usr/share/examples/cvsup/standard-supfile

然後更先步驟就如下了:
# 更新 source tree
cd /usr/src; make update
# 或者是
csup -g -L 2 /usr/share/examples/cvsup/standard-supfile
#執行 全套作法?
cd /usr/src; make buildworld; make kernel; make installworld
# 或者是半套?
cd /usr/src; make kernel

這邊我有去查了一下 Makefile:
# buildworld - Rebuild *everything*, including glue to help do upgrades.
# installworld - Install everything built by "buildworld".
# world - buildworld + installworld, no kernel.
# buildkernel - Rebuild the kernel and the kernel-modules.
# installkernel - Install the kernel and the kernel-modules.
# installkernel.debug
# reinstallkernel - Reinstall the kernel and the kernel-modules.
# reinstallkernel.debug
# kernel - buildkernel + installkernel.

所以 make kernel = make buildkernel + make installkernel
make world = make buildworld + make installworld
半套跟全套我不是很懂,可能要去實際去看看,編完之後重新開機就可以了~

更新 ports/ 方面
#
# 也是一樣修改 /usr/share/examples/cvsup/ports-supfile,加到 make.conf
PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile
SUPHOST= freebsd.csie.nctu.edu.tw
SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2

這樣
cd /usr/ports; make update
# 或者是
csup -g -L 2 /usr/share/examples/cvsup/ports-supfile

這樣就ok了

No comments: