危うく再インストール... [Vine Linux]
self-build 用のスクリプトのテスト中に、
# rm -rf usr/
とすべき所を
# rm -rf /usr/
としてしまった。
エンターキーを押した直後、普通ならシェルのプロンプトが
すぐにもどってくるのに、なぜかすぐにもどってこないことに
本能的にヤバさを感じて、2秒後(体感)には Control + C を
押して中断したんだけど、時すでに遅し
すぐさま良く使うコマンド (ls とか rpm とか apt-get とか) が使
えるかどうか確認して、一通りちゃんと動いたことから、そんな
に傷は深くないこどが分かり、とりあえず一安心。
さて、こいつをどうやって復旧するかなぁと色々考えた結果、
今回は以下の手順で対処した。
まず、
として、rpm が管理しているパッケージ情報と照合する。
こうすると無くなってるファイルがあると missing と出てくるので、
これから次のコマンドを実行して再インストールが必要なパッケージ
を特定する。
あとは reinstall.list を開いてパッケージ名の後ろのバージョン
番号とリリース番号を消したら、
で消えたファイルを再インストールで復元して復旧完了。
今回は消えたファイルは -devel パッケージがほとんどだった
ので比較的楽に復旧できたけど、これがコアなパッケージだっ
たらと思うとゾッとした。
# 再インストールから環境再構築もちょっと魅力的だけど、
# 今は辛いなぁ。
# rm -rf usr/
とすべき所を
# rm -rf /usr/
としてしまった。
エンターキーを押した直後、普通ならシェルのプロンプトが
すぐにもどってくるのに、なぜかすぐにもどってこないことに
本能的にヤバさを感じて、2秒後(体感)には Control + C を
押して中断したんだけど、時すでに遅し
すぐさま良く使うコマンド (ls とか rpm とか apt-get とか) が使
えるかどうか確認して、一通りちゃんと動いたことから、そんな
に傷は深くないこどが分かり、とりあえず一安心。
さて、こいつをどうやって復旧するかなぁと色々考えた結果、
今回は以下の手順で対処した。
まず、
# rpm -Va > verify.log
として、rpm が管理しているパッケージ情報と照合する。
こうすると無くなってるファイルがあると missing と出てくるので、
これから次のコマンドを実行して再インストールが必要なパッケージ
を特定する。
# grep ^missing verify.log | cut -c13- | xargs rpm -qf | sort | uniq > reinstall.list
あとは reinstall.list を開いてパッケージ名の後ろのバージョン
番号とリリース番号を消したら、
# apt-get install --reinstall `cat reinstall.list`
で消えたファイルを再インストールで復元して復旧完了。
今回は消えたファイルは -devel パッケージがほとんどだった
ので比較的楽に復旧できたけど、これがコアなパッケージだっ
たらと思うとゾッとした。
# 再インストールから環境再構築もちょっと魅力的だけど、
# 今は辛いなぁ。
コメント 0