FreeBSDの6系が6.3で最後となり、7系が出たいまどきでは、CVSUPではなく、CSUPでバージョンアップする。
CSUPはシステムに組み込まれており、portsなどで組み込む必要がないので、OSをインストールした直後の状態をなるべく短くすることが出来ると思っている。
BSDにくびったけさんのCSUPの頁を参考にして作業したので、そのメモ。
/usr/share/example/cvsup/からstable-supfileを適当な場所にコピーし、編集する。
# mkdir /usr/local/etc/cvsup # cd /usr/local/etc/cvsup # cp /usr/share/example/cvsup/stable-supfile ./releng_X_X-supfile # vi releng_X_X-supfile : :
/etc/make.confを編集し以下項目を追加する。
SUP_UPDATE= yes SUP= /usr/bin/csup SUPFLAGS= -L 2 -r 0 -l /var/run/csup.pid -Z SUPHOST= cvsup3.jp.FreeBSD.org SUPFILE= /usr/local/etc/cvsup/releng_X_X-supfile
パラーメタ -Zによって圧縮を無効化している。
CVS サーバに接続できなかった場合、リトライしない(-r 0 パラメータ)
ロックファイルを作成し、多重起動を抑制(-l /var/run/csup.pid パラメータ)
# cd /usr/src # make update
CVS サーバに接続し、ソースツリーが更新される様子が表示されるはず
postfixやqmailを使用しているばあい、sendmailのアップデートをしないように/etc/make.confを編集する。/etc/make.confが存在しない場合は、/usr/src/share/examples/make.confをコピーして編集する。
# vi /etc/make.conf NO_SENDMAIL=true
前回のアップグレード時に作成されたファイルを削除します。
# chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr
buildworldによりベースシステムをビルドする。並列ビルドを実行する。 シングルユーザモードで実行したほうが時間短縮できるかも。
# cd /usr/src # make -j4 buildworld # make buildkernel # make installkernel # shutdown -r now
カーネルのインストール後、通常のモードで起動し、問題が無ければシングルユーザモードでベースシステムのインストールを行う。
# shutdown now # cd /usr/src # make installworld # sync # sync # reboot