BSDを6.1へ

今日は驚愕の事実が判明しました。
メインサーバにインストールしてあるBSDは
既に6.1にしてあるとてっきり思いこんでいたのですが、
今日何の気なしにunameを打ってみたらなんと6.0のままではないですか。

こいつはいかんので早速6.1へとアップグレードします。
まずはあらかじめ用意してあったsupfileのtagを書き換えて……

# jove /etc/cvs-supfile.patch

*default host=cvsup.jp.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs
*default delete use-rel-suffix
*default tag=RELENG_6_1
*default compress
src-all

上記のようにします。で、cvsupの実行。

# cvsup -g -L 2 /etc/cvs-supfile.patch

画面上にcvsupの履歴が残るので、確認しつつ
終了するのを待ちます。
終わったら一連のmake作業を実施。

# cd /usr/src
# make clean
# ls -la /usr/obj
# chflags noschg /usr/obj
# rm -rf /usr/obj
# make buildworld
# make buildkernel KERNCONF=Mykernel
# make installkernel KERNCONF=Mykernel

……さて、ここで通常採用される方法とは違った方法をとります。
ちなみに通常ではここまで終了したところで
シングルモードに落としてからmake installworldを
実行することになっています。
公式な文書にも推奨方法として書かれてる方法です。
しかし今回はこのままシングルモードに落とさずに

# make installworld

を実行。というのも今回は遠隔地(会社)
から自宅サーバを操っていたため、
コンソール上で見ているわけにも行かなかったのですよ。
「じゃあ帰ってからやれや」という意見も聞こえてきそうですが……

で、make installworldが成功したら

# shutdown -r now

でリブートをして/etc以下のマージを実行します。

# mergemaster -siva
# mergemaster -sivr

(以下対話型スクリプトが機動する)

これにて終了。あとはuname -aとやってバージョンが
6.1になっていることを確認するだけです。
あ、6.1ってSTABLEなんだ。