fedora16トラブル->復旧

2012/6//7に、fedora16でyum -y updateかけたら応答がなくなった。pingは返ってくるけど、ssh/http/vncがつながらない。リブートしても解決しない。(ディスプレイが接続されていない環境に置いていたのでできることがなかった...)

手元に持ってきて調査、復旧を試みた。
1. とりあえず電源ON。GRUBも出るしLinuxの起動メッセージも出るしなんだろう??っと思ったら起動プロセスの途中で停止した。
2. 何度か繰り返したがいつも同じところで止まる
3. rescueモードで起動試みる。上がってくれた。
4. /var/log/messagesを見ると /usr/sbin/sshd: error while loading shared libraries: /lib64/libcrypto.so.10: file too shortと /usr/sbin/sendmail: error while loading shared libraries: /usr/lib64/libssl.so.10: file too shortがが出ていた。/lib64/libcrypto.so.10のファイルサイズを見ると0になっている。opensslのライブラリが壊れてる模様。なぜだろう...
6. ネットワークにつなぐ
7. yum reinstall opensslを試みるが、↑と同じエラーになり接続できない。
8. libcrypto.soはsymbolic linkになっていて、実態はlibcrypto.so.1.0.0jだった。で、libcrypto.so.1.0.0jがサイズ0になっている。幸い、libcrypto.so.1.0.0iが残っていたので、symbolic linkを張り替えた。libssl.soも同様。
9. 再度yum reinstall openssl。接続はできたが、protected multilib versionが出てreinstall不可。installやupdateを試すと、すでに最新でnothing to doとメッセージが出る。
10. 強制インストールする。
yumdonloader openssl; rpm -Uvh --force openssl-1.0.0j-1.fc16.x86_64.rpm
11. 祈りながらsystemctl defaultすると起動してくれた。
12. これは必要かどうかちゃんとわかってないけど、yum reinstall opensslしといた。
13. 最後に再起動して無事sshで接続できることを確認できた!

壊れたときに手間がかかるので、再現試験する余裕は、すくなくとも今は無いなあ。。