2005年5月31日(火)

FreeBSD 大破

実家の FreeBSD を弄っていて、起動できなくしてしまうorz

ports の maxima を version up しようとしたら 5.X 系以外で BROKEN だったので、あまり考えずに 4-stable から 5-stable に jump しようとしたんだが、やっぱり major version の bump は考えなしにやるもんじゃないな
buildkernel は一見無事にいったんだったかな?問題は installkernel で、 /boot/device.hints がないんで、一旦コケて、てきとーにファイルを置いて再度 installkernel したんだが、実はこのとき kernel が置き換わってなかったという・・・・・・・・・orz
で、それに気づかずに reboot して installworld してたら何故か途中で signal 12 でコケる、という・・・
で、も一度 reboot したら /bin/sh が signal 12 でコケるという。よーするに kernel が 4.x, user land の一部が 5.x という状態になってしまって、この時点で実家を離れるまで2時間くらいしか余裕がなかったという・・・

いくらなんでもこの時間で復旧するのは無理とあっさり割り切る。 live CD があるとか、動いてる 5.X があるとか、あるいは後1日時間があるとかするならまだやることもあるけど、時間がなさすぎる

それでもなんかできることが残っているかと、 install CD の fixit mode で立ち上げてみると mount と tar が生きていたので /home/etc, /root, /var あたりを DOS パーティションに退避することに成功。これだけでも上出来だろう。

結局これを復旧しようとするなら、 kernel が 4.x のままなのだから、 live CD で起動するかして user land を 4.x で書き戻すか、でなきゃ 5.x インストーラで newfs しないで上書きインストールして /etc, /root, /var のファイルを記憶に基づいて書き戻す、但し 4.x -> 5.x で変化したものに注意、という気疲れする手か
4.x に戻しても、 bump が面倒そうだから後者かなぁ

[referer: [an error occurred while processing this directive]]

あわせて読みたい