FreeBSDの新しい版がリリースされたので更新してみました。最近は STABLE に合わせるのをやめてRELEASE版のみなので儀式は年に一回くらいです。儀式といっても make world するだけなので、mergemasterの時にポカをやらかさなければ、だいたい問題なく終了します。今回は念のために portupgrade -af → make world → portupgrade -af したので、ずいぶんスッキリしました。
さて、我が家ではずいぶん前から ZFS Root にて運用しているのですが、このシステムだと make installworld できない問題 がありました。この問題はそのうち Fix されるのかな〜と気長に待っていたのですが、一年経ってもそのままです。私が参考にしたページには解決方法が書いてあったのですが、8-currentの話だったので 8.0-RELEASEとは違うのだろうと思っていました・・・。が、実は答えはそこにちゃんと書かれていました。
ZPOOLとZFSをアップグレードしないと,chflags関係のコマンドが失敗するのが原因.
当初私はこの文を「ストレージプールと /sbin/zfsコマンドをアップグレードしないと」と読んでいたのですが、実際には文字通り「ストレージプールとしてのZPOOLとファイルシステムとしてのZFSを」でした(^^)。うちでは zpool upgrade を実行して Ver.13 に上げていたのですが、 zfs upgrade も存在することは知らなかったので、Ver.1のままでした。ということで、ZFSもアップグレードすると make installworld でコケなくなりました。はふ、長い道のりだった・・・(←アホ)。
ちなみに、ZFS Root 環境では そのまま zfs upgrade しようとするとマウント解除できないと怒られてしまうので、UFS等でシングルユーザモードで起動する必要があります。以下は手順の覚え書き。
特にシングルユーザモードになる必要もないのですが、ZFSをマウントしてしまうと逆にややこしくなるので、UFSだけマウントしているシングルユーザモードの方が作業が簡単だと思います。
□ 関連記事