FreeBSD のバージョンアップには、/stand/sysinstall から Upgrade Install する方法がありますが、ソースを最新の stable に同期させて、コンパイルする方法がベターでしょう。ただ、/etcなどの関係で不具合が出る場合があります。自己責任でお願いします。
1.CVSup
ソースを同期するために、CVSupを使います。まず、ports から cvsup をインストールします。詳しくは、ここを参照してください。
# cd /usr/ports/net/cvsup # make -D WITHOUT_X11 install clean
次に、動作を制御する supfile を作ります。たとえば、/etc/cvsupfile とします。なお、supfile のサンプルは、/usr/share/examples/cvsup 以下、または /usr/src/share/examples/cvsup 以下にありますので、それを参考に作ります。以下は僕の例です。
# ee /etc/cvsupfile ----- *default host=cvsup.jp.FreeBSD.org *default base=/usr *default prefix=/usr *default release=cvs *default tag=RELENG_4 *default delete use-rel-suffix *default compress src-all src-crypto src-secure *default tag=. ports-all doc-all
あとは、実行するだけです。cron で定期的に実行するのもよいでしょう。
# /usr/local/bin/cvsup -g -L 2 -z /etc/cvsupfile
2.Make World
最初に/usr/obj をきれいにします。
# cd /usr/obj # chflags -R noschg * # rm -rf *
次に、cvsupでとってきた新しいソースをコンパイルします。
# cd /usr/src # make buildworld
PentiumIII 800MHz/SDRAM 512Mbytes で約1時間30分かかりました。さらに、GENERIC Kernel を update します。もし自分で再構築したkernelがあればそれを update します。
# cd /usr/src # make buildkernel KERNCONF=YourKernel # make installkernel KERNCONF=YourKernel
シングルユーザーモードに落ちたあと、ソースをインストールします。
# shutdown now # mount -u / # mount -a -t ufs # swapon -a # cd /usr/src # make installworld
/etc をバックアップした後、アップデートします。
# cp -Rp /etc /etc.old # /usr/sbin/mergemaster -i -w 132
/dev をアップデートします。
# cd /dev # ./MAKEDEV all
これで再起動すれば終わりです。