*FreeBSD 6.3R to 7.0R (Sum) [#f1c0ed47] 詳細はこちらをどうぞ[[FreeBSD 6.3 to 7.0]] **Athlon64 FX-74 Quad Core のサーバ機のOSをUPしてハマッタ備忘録? [#m1822da1] FreeBSD6.3R を7.0Rへメジャーバージョンアップする場合、カーネルオプションをカスタマイズしたものは一手間かかる様なのでデフォルトにもどしておく。 # freebsd-update -r 7.0-RELEASE upgrade # freebsd-update -r 7.0-RELEASE install # reboot FreeBSD 7.0-RELEASE-p5 (GENERIC) #0: Wed Oct 1 07:51:58 UTC 2008 # /usr/sbin/freebsd-update install ここで、「portsなどでインストールしたものがあれば、すべて更新してから、もう一度 "/usr/sbin/freebsd-update install すること」と言うことなので、port をアップデートする。~ が、[[そのまま portupdate するとアップデートが完了しない>#x5fa2703]]ので、以下の対策をしてからportupdateする。 # portsnap fetch && portsnap extract してports tree を最新にする。~ 以下のパッケージを手動でインストールし直す。 portupgrade-2.4.6,2 ruby-1.8.6.287,1 ruby18-bdb-0.6.4 (コレをかいた時点では上記バージョンが最新) だけを手動でインストールする。 つづいて # mv /var/db/pkg/portupgrade-2.4.6,2 /root/ # mv /var/db/pkg/ruby-1.8.6.287,1 /root/ # mv /var/db/pkg/ruby18-bdb-0.6.4 /root/ つづいて # mv /var/db/pkg/portupgrade-2.4.6,2 /root/ && mv /var/db/pkg/ruby-1.8.6.287,1 /root/&& mv /var/db/pkg/ruby18-bdb-0.6.4 /root/ // # mv /var/db/pkg/portupgrade-2.4.6,2 /root/ && mv /var/db/pkg/ruby-1.8.6.287,1 /root/&& mv /var/db/pkg/ruby18-bdb-0.6.4 /root/ # pkgdb -u としてこれらをスキップさせる様にしてから(先ほど3つ)以外のすべてのパッケージ?を更新 portupgrade -afp 正常終了したら、 # mv /root/portupgrade-2.4.6,2 /root/ruby-1.8.6.287,1 /root/ruby18-bdb-0.6.4 /var/db/pkg/ # pkgdb -u して、パッケージデータベースを元に戻しておく:-) パッケージのアップデートが終了したら,旧いライブラリファイルを削除して差し支えない。 # /usr/sbin/freebsd-update install これでめでたく移行は終了である。 **portupgrade -afp が途中で止まる訳 [#x5fa2703] このportupgrade -afp の時に途中で止まる現象については、 http://gihyo.jp/admin/feature/02/freebsd-7/0003 に有るように、途中でデータベースファイル(/var/db/pkg/pkgdb.db)が壊れるためだそうです。 /var/db/pkg/pkgdb.db: unexpected file type or format -- Invalid argument というエラーで、エラーのログを読むと「ruby18-bdb-0.6.x」パッケージを更新した直後からデータベースが更新できなくなっているようだ。そういえば,標記パッケージはpkgdb.dbを作るために使っているのだから実はあたり前だとも言える。 ---- #counter([total|today|yesterday]); &lastmod; ----