【注意】freebsd-updateを使ったFreeBSD 10.1-RELEASEへのアップグレード【バグ】

[2014/12/20 追記] lib32の件は、10.1-RELEASE-p2へのアップデート時に解決されるようになってるっぽいです。

FreeBSD 10.0-RELEASE-p12から10.1-RELEASEにfreebsd-updateでアップグレードしたところ、2つのバグに遭遇し厄介なことに。
既に被害に遭われた方、これからアップグレードする方のためにも、備忘録を残しておきます。

遭遇した既知のバグは以下2つ。

  1. ユーザ管理をLDAPで行っており、/etc/nsswitch.confや/etc/pam.d以下にLDAP認証を使うための記述があると、ユーザランドのインストール時にSegmentation faultが出まくって、その後ユーザランドが壊滅、ログインすらできなくなる。
  2. world/lib32をインストール済みの環境にもかかわらず、lib32がインストールされない(/usr/lib32以下に空のディレクトリが3つだけになる…。)。

対処法はそれぞれ次の通りです。
※念のため、まず、ZFSをお使いの方は、freebsd-update前にsnapshotを取ることをおすすめします。

1. LDAPのpam関連

freebsd-updateが終わるまで、LDAP関連の記述をとりあえず消す。
LDAPで管理してるユーザ以外にwheelグループユーザがない場合は、直にrootユーザでログインするとかしてください。

※perlがない場合はsedとか使って下さいm(_ _)m

既に手遅れ(Segmentation faultで崩壊)の場合、ZFSのSnapshotがあればラクーに復旧できます。
シングルユーザモードで起動して

で!
Snapshotがない場合は。。。頑張ってください(´・ω・`)
多分、ユーザランドのバイナリをftp://ftp8.jp.freebsd.org/pub/FreeBSD/releases/amd64/10.1-RELEASE/とかから拾ってきて徐ろに展開すればとりあえず動くんじゃないかと思いますが、色々おかしくなること間違いなしなので再インストールしたほうがいいかもしれないです。

2. lib32

3回目のfreebsd-update install前にlib32.txzを拾ってきて展開する。
※細かい手順は割愛します。

3回目のfreebsd-update installを既に実施してしまっている場合は、lib32.txz展開後に手動でchflagsしとけば大丈夫だと思われます。

以上です。
もしかすると、他にも不具合がありそうな予感がしないでもないです。。。

なんかなー10.0-RELEASEが評判悪かったから、10.1-RELEASEはそこそこ安定したバージョンになってくれると期待してたんだけど、まさかアップグレードでここまでボロボロとはw
それでもやっぱりLinuxよりFreeBSD派なのでした。

コメントを残す