いずれ消え行く無駄な情報を、密やかに発信する装置。つまり日記。
FreeBSD 9.0-RELEASEが公開されたので、FreeBSD 8.2-RELEASE-p6からアップグレードを行いました。
アップグレードの手順はFreeBSD 9.0-RELEASE Release NotesのFreeBSD 9.0-RELEASE Installation Instructionsを参考に行いました。
まずは、現在のシステムの確認。
$ uname -a FreeBSD psyche.gaso.jp 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3 #0: Tue Sep 27 18:45:57 UTC 2011 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
アップデートは、ソースからコンパイルではなくfreebsd-updateを使用しました。
まずは、8.2を最新状態にします。
# freebsd-update fetch Looking up update.FreeBSD.org mirrors... 4 mirrors found. Fetching metadata signature for 8.2-RELEASE from update5.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. Preparing to download files... done. # freebsd-update install No updates are available to install. Run '/usr/sbin/freebsd-update fetch' first.
次に実際に9.0にアップグレードをします。途中、ttyの設定やbindの設定などを対話形式で聞かれましたが、特に詰まることなくサクサクとyesと答えて作業を進めました。
# freebsd-update upgrade -r 9.0-RELEASE # freebsd-update install # shutdown -r now
再起動後に再度実行。
# freebsd-update install
phpを実行しようとしたところ、 libz.so.5が見つからないとエラーが表示されました。どうやらlibz.so.6にライブラリが変わった模様。そうなるとこいつを使用しているportsを再コンパイルする必要があります。無難にln -s libz.so.6 libz.so.5としても良かったのですが、精神的に気持ち悪いのでportupgrade -aRfで全てを再コンパイルすることにしました。しかし、portversionでインストール済みのportsを見ると、結構いらないものが多くあったので良い機会なので一旦全て消して再度入れることにしました。全てを消す魔法を唱えます。
pkg_delete -af
ここで問題が発生。rootのシェルをbashにしていました。bashはもちろんportsからインストールしています。無事、rootでログインできなくなりました。
久しぶりにシングルユーザーモードで起動を行いました。まずmount -wf /で読み書きできるように再マウントし、vipwでShellを/usr/local/bin/bashから/usr/tcshに変更しました。やれやれです。
なんだかんだで、portsを再インストールして、無事にシステムは動作。毎回、アップグレードで何かしらツマラナイ間違いをしてしまうな。
$ uname -a FreeBSD psyche.gaso.jp 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64