[2014/12/20 追記] lib32の件は、10.1-RELEASE-p2へのアップデート時に解決されるようになってるっぽいです。
FreeBSD 10.0-RELEASE-p12から10.1-RELEASEにfreebsd-updateでアップグレードしたところ、2つのバグに遭遇し厄介なことに。
既に被害に遭われた方、これからアップグレードする方のためにも、備忘録を残しておきます。
遭遇した既知のバグは以下2つ。
- ユーザ管理をLDAPで行っており、/etc/nsswitch.confや/etc/pam.d以下にLDAP認証を使うための記述があると、ユーザランドのインストール時にSegmentation faultが出まくって、その後ユーザランドが壊滅、ログインすらできなくなる。
- world/lib32をインストール済みの環境にもかかわらず、lib32がインストールされない(/usr/lib32以下に空のディレクトリが3つだけになる…。)。
対処法はそれぞれ次の通りです。
※念のため、まず、ZFSをお使いの方は、freebsd-update前にsnapshotを取ることをおすすめします。
1. LDAPのpam関連
freebsd-updateが終わるまで、LDAP関連の記述をとりあえず消す。
LDAPで管理してるユーザ以外にwheelグループユーザがない場合は、直にrootユーザでログインするとかしてください。
cd /etc # nsswitch.confのldapをコメントアウト("ldap"が行の最後に記述されていること前提なので、そうじゃない場合は手動で) perl -i -pe "s/ldap/#ldap/g" nsswitch.conf # pam.d以下の対象ファイルを確認 find pam.d/ -type f | xargs grep ldap # (元々コメントアウトされているものがあるなら以下の処理は手動で!) # pam.d以下のldap関連の行をコメントアウト find pam.d/ -type f | xargs perl -pi -e 's/^(.*ldap)/#$1/g' # あっぷぐれーど(省略) # pam.d以下のldap関連の行を元に戻す(元々コメントあう(ry)) find pam.d/ -type f | xargs perl -pi -e 's/^#(.*ldap)/$1/g' # nss(ry (”lda(ry) perl -i -pe "s/#ldap/ldap/g" nsswitch.conf
※perlがない場合はsedとか使って下さいm(_ _)m
既に手遅れ(Segmentation faultで崩壊)の場合、ZFSのSnapshotがあればラクーに復旧できます。
シングルユーザモードで起動して
/rescue/zfs rollback [pool名]@[snapshot名]
で!
Snapshotがない場合は。。。頑張ってください(´・ω・`)
多分、ユーザランドのバイナリをftp://ftp8.jp.freebsd.org/pub/FreeBSD/releases/amd64/10.1-RELEASE/とかから拾ってきて徐ろに展開すればとりあえず動くんじゃないかと思いますが、色々おかしくなること間違いなしなので再インストールしたほうがいいかもしれないです。
2. lib32
3回目のfreebsd-update install前にlib32.txzを拾ってきて展開する。
※細かい手順は割愛します。
freebsd-update upgrade -r 10.1-RELEASE freebsd-update install # カーネルインストール reboot freebsd-update install # ユーザランドインストール # ここでlib32.txzを拾ってきて展開 cd /tmp fetch ftp://ftp8.jp.freebsd.org/pub/FreeBSD/releases/amd64/10.1-RELEASE/lib32.txz tar xfp lib32.txz -C / freebsd-update install # 最終インストール
3回目のfreebsd-update installを既に実施してしまっている場合は、lib32.txz展開後に手動でchflagsしとけば大丈夫だと思われます。
chflags -R noschg /libexec chflags -R noschg /usr/lib32
以上です。
もしかすると、他にも不具合がありそうな予感がしないでもないです。。。
なんかなー10.0-RELEASEが評判悪かったから、10.1-RELEASEはそこそこ安定したバージョンになってくれると期待してたんだけど、まさかアップグレードでここまでボロボロとはw
それでもやっぱりLinuxよりFreeBSD派なのでした。