昨日おうちに帰ってから自宅サーバをFreeBSD5.5→6.2に更新してみました。少なくとも30分ほど停止していましたので、その間に遊びに来られた方、ご迷惑をおかけしました。本日もサーバを元の位置に戻す為に一時的に停止しますが、停止時間は数分程度だとおもいます。
さて、会社で4.11→5.5の大手術を行った後だからかもしれませんが、5.5→6.2はホント簡単ですね。 /usr/src/UPDATING に書いてある通り、
To upgrade in-place from 5.x-stable or higher to 6.x-stable -----------------------------------------------------------だけでできました。らくちんらくちん。上記で新登場?の make delete-old ですが、現行のリリースでは廃止されたファイル(実行ファイル・設定ファイル・マニュアル等)を消去してくれるもののようです。割と便利なのですが、一つずつ「消しますか?」 とか聞いてきます。いや、一つや二つならよいのですが、数十個あるのに一つずつ聞かれても・・・(汗)。ま、しょうがないからぽちぽち[y]と[ENTER]を押しまくりましたけど。 今回のハマりどころmake buildworld [9] make kernel KERNCONF=YOUR_KERNEL_HERE [8] [1] <reboot in single user> [3] mergemaster -p [5] make installworld make delete-old mergemaster -i [4] <reboot>
あとこれは 5.5 でも使えましたが、portsnap というプログラムが追加になっていますね(初めて知りました)。cvsup ports-supfile の代わりに
# portsnap fetch updateのように使えて(初回使用時は updateの代わりに extract)、cvsup よりも遥かに高速に処理が終了します。おぉー これは便利だ。そして更新されたファイルを知る時は portupgrade -an の代わりに
# portversion -vL=でOKのようです。こちらも処理が早くて便利。
てな感じで長らくほったらかしになっていたFreeBSD6.2計画もようやく実行出来ました。これで5.xのサポートが終了してくれても大丈夫です(^^)。
(余談)
[訂正]
kern.module_path が違ってる理由ですが、上に書いたのは間違ってて、正しくは /usr/src/UPDATING の20040806に書いてあったのですが、
# cp /usr/src/sys/boot/i386/loader/loader.rc /boot/loader.rcでした。もう一台のFreeBSDもkern.module_pathが違ってたので自分で書いたとおりにやっても直らなかったという・・・(笑)。
# chown root:wheel /boot/loader.rc
# chmod 444 /boot/loader.rc
□ 関連記事