FreeBSD 5.4R へのアップグレード

学校が感謝祭の影響ですっかり休暇モードに入ったため, このすきに自宅のサーバー (FreeBSD INSIDE) をしっかりメンテすることにした. このサーバーは, このMovable Typeを動かしたり, ファイルサーバー, 家計簿を管理するDBサーバーをやっていたりと大黒柱となっている.

普段はCD/DVDにISOイメージを焼き付けて, ゼロから再インストールしていたのであるが, そんなことをしなくても Linux で apt-install distupgrade に相当する(?)方法を試してみた.

手順としては

1) ソースの取得 (CVS)
2) システムを再構築
3) カーネルを再構築・インストール
4) 再起動
5) システムをインストール
6) 設定ファイルの更新

となる.

1. ソースの取得 (CVS)

CVSupでソースを取得するために, 設定ファイル cvsup-stable を /usr/src へコピーしなくてはならない.

# cp /usr/share/examples/cvsup/stable-supfile /usr/src


そして cvsup-stable ファイルを編集する (以下は編集する箇所のみ抜粋).

default host=cvsup1.FreeBSD.org     ← CVSサーバーの選択
default base=/var/db
default prefix=/usr
default release=cvs tag=RELENG_5_4
src-all
ports-all tag=.
doc-all tag=.

CVSup についての詳細は "http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html (FreeBSD HandbookのA.5) に書かれている.

Primary Mirror は cvsup[1-16].FreeBSD.org, 日本のMirrorだとcvsup.jp.FreeBSD.org, cvsup[2-6].jp.FreeBSD.org が使えるようである.

いよいよ, ソースの取得を実行する.

# cd /usr/src
# cvsup stable-supfile

2. システムを再構築

システムを再構築する.これには膨大な時間がかかる. このマシンはPentiumIII 1GHz + 512MBメモリという随分と古いスペックであるが(けど充分な性能), make buildworldには2時間程度は費す.

# cd /usr/src
# make buildworld

3. カーネルを再構築・インストール

以下の手順で, GENERIC・カーネルが構築される.

# make buildkernel

そして, インストールする.

# make installkernel

(結局, GENERIC・カーネルが作られるので, アップグレード作業が完了後にカスタムカーネルを作りなおした.)


4. 再起動

無事にカーネルまでインストールできれば, 再起動して, 無事に起動するかどうか確かめる.

# reboot

5. システムをインストール

それでは, システムをインストールしてみる.

# make installworld

6. 設定ファイルの更新

mergemasterというコマンドがある.
これで設定ファイルを更新 (patchをあてる) してくれる.

# mergemaster 

詳細: MERGEMASTER(8) href="http://www.freebsd.org/cgi/man.cgi?query=mergemaster&sektion=8