Linuxで/binを削除されたとき、ひとまず復旧するためにしたこと

まあタイトルのままなのだが…… Linux*1で何等かの原因で/bin以下が削除された際に、Linuxをひとまずbootするように復旧したので、そのメモ*2

事象の発生

  • 「なんか試験用のサーバにsshがつながらなくなったのですが…」という相談を受ける
  • サーバーを直接見てみると、画面は上がっているが、psとかlsとかの基本的なコマンドが効かない
  • これあかんやつや……

原因の特定まで

  • ひとまずリブートしてみる⇒案の定起動しない。
  • シングルユーザーモードで起動してみる*3⇒No such file or Directory 的ななにか。initをスキップしてzshやらtcshで起動しようとするも起動しない。この時でなんとなく察する。
  • インストールCDからレスキューモードで起動する⇒うん、/bin以下が全部ないね*4

暫定的な復旧

  • 同じOSのLinuxの/binをtarでアーカイブする。
  • 起動しなくなったOSにscpでコピーして、解凍し、/binに配置。
  • リブートをかけるとSELinuxの再構成?がかかるものののひとまず正常に起動した。

感想

事象事象なうえに、自分の本来の仕事でない部分で対応したので、げんなりした。 まあ、間違いはあるものだけれど、「何もしてないけどパソコン壊れた」のと同レベルだろこれは…… とりあえず復旧しただけで、あとは好きにして、という感じ。

参考

あと、ちょっと違うけどこんな例もあった

*1:OSはぼかして書いているのは、特定されたくないから

*2:正確に書く気力はない……

*3:GRUBでブートオプションを追記して起動する

*4:正確には、レスキューモード時には元のドライブが /mnt/sysimageにマウントされるので、/mnt/sysimage/binが存在しないことを確認した