SSブログ

危うく再インストール... [Vine Linux]

self-build 用のスクリプトのテスト中に、
# 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 パッケージがほとんどだった
ので比較的楽に復旧できたけど、これがコアなパッケージだっ
たらと思うとゾッとした。

# 再インストールから環境再構築もちょっと魅力的だけど、
# 今は辛いなぁ。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。