FreeBSD 7系 から、3回目のリリースとなる FreeBSD 7.2 が
公開されました。
今まで FreeBSD 6.4 を使っていましたが、そろそろ良い頃合いかと思い、移行してみることに。
従来、FreeBSD の major アップデートは、cvsup で src を持ってきた後、/usr/src/UPDATINGを見つつ、大きく変更の加わった /etc 配下のファイルを mergemaster で制御しつつ、といった感じの作業となることから、私にとってはなかなか手間のかかる作業でした。
しかし今回の major アップデートでは
freebsd-updateコマンドを使うことで、この作業を自動化することができます。これは嬉しい!
freebsd-update コマンドを使った major アップデートの方法は、詳細な手順が
Web で公開されていますので、これに従うのが簡単です。
なお記事内にも書かれている通り、今回の移行元は upgrade 機能をサポートした
freebsd-updateコマンドが最初から用意されている FreeBSD 6.4 になりますので、記事内の
sh freebsd-update.sh -f freebsd-update.confを
freebsd-updateへ読み替えて実行することになります。
実際に作業を行って気のついた点は以下の通りです。
1. upgrade 処理は時間がかかる
取得ファイルを丹念に調べ上げ、その後に取得をはじめるため、 upgrade 処理には非常に長い時間がかかります。寝る前などに実行しておくと良いかもしれません。
2. portupgrade -a に時間がかかる
記事内では portupgrade -a を2度行うことが推奨されています。特にそのうち一回は -f 付きであり、インストールされている ports を full build することになりますので、ここでもそれなりの時間がかかります。package が使える人は、-P の併用も考えると良いでしょう。
なお、FreeBSD 7.x 系は thread をはじめ、各種ライブラリが変更になっていますから時間がかかるから、という理由で portupgrade を端折るのは避けた方が無難です。
3. 最後のfreebsd-update install の前に misc/compat6x を入れておくと良い
最後の
freebsd-update installを実行すると、古いライブラリを消去してくれます。が、私が portupgrade -af のやり方を間違えたのか、再構築後の一部 ports が、libc.so.7ではなく libc.so.6 を要求していたため、起動できない ports が出てしまいました。念のため、misc/compat6x を入れておくと良いかもしれません。
4. VMware 5.x の vmware-checkvm が起動できない
ここ数年 FreeBSD は Windows 上の VMware workstation 5.x で使っているのですが、FreeBSD 7.x に入れ替えたところ、vmware-checkvm が Bad system call でcore dump するようになってしまいました。VMware workstation 6.x 上では動作するようなのですが、5.x 系のvmware-checkvm は static link されているためか、うまく動作させることが出来ません。
折角の機会なので、
VirtualBox上で稼働させることにしました。今まで使っていた vmdk をそのまま使っていますが、特に問題なく動作しています。
5. vje の ports が削除された
私は長い間 FreeBSD 上の仮名漢字変換サーバに VJE-Delta を使っていたのですが、とうとう ports から消えてしまいました(といっても、消えたのは、昨年の8月のようですが...)。依存している misc/compat3x がずいぶん前から FORBIDDEN になっていたので、致し方ないことです。
残念ながら VJE-Delta そのものもずいぶん前から販売終了となっていますので、これを機会に仮名漢字変換サーバを乗り換えることに。といっても、VJEをesecanna経由で使っていた関係で、最も簡単に移行できる canna を選択。VJE以前は、cannaを使っていたとは言え、10年以上のブランクがあるので、何か新鮮な感じです...。
FreeBSD 7.2 への入れ替えが終了した後は、快適に動作しています。current 時代を通しても7.x系は使っていなかったので楽しみです。