extundeleteってソフトがあります。ここね
ext3とext4のパーティションで消したファイルを復活させることができるらしいのだ。
魔法の呪文だよ、これ
Linux触ってたら、一度はrm -fRをしちゃったりする経験あるよねー…
色々探してみたら、y-kawazさんの記事を見つけちゃったのです。勝手にリンクしちゃってごめんなさい。
rm -fR /*とかでOSごと削除しちゃった場合は、LiveCDでとりあえず起動して
extundeleteをコンパイルインストールして復元するしかない
注意点は復元先ディスクのディスク容量ですね。
復元元ディスクはできるだけ触らないようにしないといけないので
マウントするにしてもReadOnlyでやるのが妥当。
まず、あれです。テストです。
って事で
cd /home/hoge ls -l 合計 8 drwxr-xr-x 4 root root 4096 2月 3 11:44 test rm -fR testこれで、綺麗さっぱり。
date 2011年 2月 3日 木曜日 14:30:30 JST
さて、ここからextundeleteのインストール
cd /tmp mkdir ext wget http://downloads.sourceforge.net/project/extundelete/extundelete/0.2.0/extundelete-0.2.0.tar.bz2? r=http://extundelete.sourceforge.net%2F&ts=1296711141&use_mirror=jaist tar jxf extundelete-0.2.0.tar.bz2 cd extundelete-0.2.0 ./configure --prefix=/tmp/ext && make && make install/tmp/extにインストできただろうか??
ls -la /tmp/ext/bin 合計 508 -rwxr-xr-x 1 root root 508267 2月 3 14:36 extundelete大丈夫なようだ。
これで稼働環境ができた。
追記
LiveCDから起動するとコンパイルできない。環境が揃ってないからね
yum install gcc gcc-c++ e2fsprogs-devel
ってことでいざ実行。
その前にさっき記録した時間から推測される削除時間をエポック秒に変換しておく。
さっき消した後が14:30だから、14:20ぐらい以降で削除しているはず。
date -d "14:20" +%s 1296710400
で、デバイスファイルは/dev/mapper/VolGroup00-LogVol00なので
/tmp/ext/bin/extundelete --after 1296710400 --restore-directory home/hoge /dev/mapper/VolGroup00-LogVol00
えいっっ!!
WARNING: Extended attributes are not restored. WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set. The partition should be unmounted to undelete any files without further data loss. If the partition is not currently mounted, this message indicates it was improperly unmounted, and you should run fsck before continuing. If you decide to continue, extundelete may overwrite some of the deleted files and make recovering those files impossible. You should unmount the file system and check it with fsck before using extundelete. Would you like to continue? (y/n)
YですYesっです。はい。
なんとゆーことでしょう!
コマンド実行ディレクトリ配下のRECOVERED_FILESディレクトリ以下にファイルが復元サレマスタ!
なんか若干問題がありそうな気配だけども…ww
それはまた今度調べるとして。です。