FreeBSD 6.3R to 7.0R (Sum)

詳細はこちらをどうぞFreeBSD 6.3 to 7.0

Athlon64 FX-74 Quad Core のサーバ機のOSをUPしてハマッタ備忘録?

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 するとアップデートが完了しないので、以下の対策をしてから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/
# 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 が途中で止まる訳

この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: 1383, today: 1, yesterday: 0

2008-10-09 (木) 11:45:24



トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-10-09 (木) 11:45:24