FreeBSD 6.3へのバージョン・アップ
HOME BACK

現用サーバーOSはFreeBSD 6.2-RELEASEを使用しているが、freebsd-update コマンドでセキュリティー・アップデートをしようとしたら
WARNING: FreeBSD 6.2-RELEASE-p11 HAS PASSED ITS END-OF-LIFE DATE.
Any security issues discovered after Sun Jun 1 16:00:00 JST 2008
will not have been corrected.
と表示されてしまった。
最新はFreeBSD 7.0-RELEASEであるが、とりあえず2008年1月19日に公開された FreeBSD 6.3-RELEASEにバージョン・アップすることにした。

準備

まずは現用サーバーで使用しているHDDの丸ごとコピーである。同容量の予備HDDがあるので、サーバーを停止後、予備HDDを装着してリブートする。
%dmesg
で、デバイスの状態を確認すると
現用HDD ad0
予備HDD ad2
と認識されていた。rootになって
#dd if=/dev/ad0 of=/dev/ad2 bs=16m
とすると丸ごとコピーの開始である。サーバーはVIA C3 600MHzとかなり非力なマシンなので80GBのコピーに数時間、要した。
念のため、コピーした方の予備HDDでサーバーを立ち上げて動作を確認する。

バージョン・アップ

開発用マシンに先ほどまでの現用HDDを装着してバージョン・アップを行う。
バージョン・アップはCVSupを使用する。
まずはstable-supfileを編集する。サンプルを作業用ディレクリーにコピーする。
#cd /usr/local/etc/cvsup
#cp /usr/src/share/examples/cvsup/stable-supfile .

以下の行を変更した。

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

# cvsup -g -L 2 stable-supfile

で最新のソースファイルを引っ張って来る。開発用マシンも CPU C3 1GHzとこれまた非力なもので終了まで数時間を要した。
その後は以下を順次、実行するがそれなりの時間が必要である。

# cd /usr/src
# make buildworld
# make buildkernel
# make installkernel
# reboot

その後はシングルユーザモードに移行し

# mount -a
# cd /usr/src
# mergemaster -p
# make installworld
# mergemaster
# reboot

でバージョン・アップが完了である。確認すると

%uname -a
FreeBSD 6.3-RELEASE-p2

と、無事にFreeBSD 6.3へアップされていた。
バージョン・アップしたHDDをサーバーマシンに装着してテスト運用しているが、特に問題は発生していない。sendmailが8.13.8から8.14.2へアップされていた。

トラブル・シューティング

インターネット経由でスポーツ大会の参加を申し込んだが、自動応答メールが不着となった。相手側と連絡を取ったところ、確かに受け付け完了し、メールも送信しているとのこと。/var/log/maillogをチェックしたところ相手側のメールアドレスがあり、

did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

という記述が見られた。そういえば、FreeBSD 6.3へアップしてから自動配信されるメールが届かなくなっていた。早速、ネット検索するとスパム対策用のデータベースに問い合わせている間にタイムアウトしている可能性があるようである。スパム対策用のデータベースに関してはsubmit.cfに記述するのであるが、FreeBSD 6.2では特に記述していなかった。
FreeBSD 6.3にアップした後、メールヘッダーに(8.14.2/8.13.8/Submit)と記述されており、submit.cfとsendmail.cfのバージョンが違っていたのは判っていたが、とりあえず、メールは届いていたので、そのままにしておいた。
どうやら、FreeBSD 6.3にアップしたとき、submit.cfだけがスパム対策用のデータベースが記述されたものに変わっていた可能性がある。
念のため、オリジナルのsendmail.mcとsubmit.mcから、新たにsendmail.cfとsubmit.cf を作って/etc/mailにコピーしリブートしたら、メールヘッダーの記述が(8.14.2/8.14.2)に変わっていた。
その結果、自動配信メールが再び、届くようになったが、この2月間、自動配信メールが届かなくても、それに気がつかなかったくらいなのである。

HOME BACK

Last Updated 8/Jun/2008