中村です。 ext3, ext4 ファイルシステムで誤って削除したファイルを 復旧させるユーティリティ extundelete をVineSeed に put しました。 extundelete-0.2.0-3vl6.src.rpm extundelete-0.2.0-3vl6.i686.rpm extundelete-0.2.0-3vl6.x86_64.rpm 新規のパッケージで、カテゴリは Plus でお願いします。 使い方としては、 # extundelete --restore-all /dev/sdb4 とファイル削除したパーティションを指定すると、カレントディレク トリ以下の RECOVERED_FILES ディレクトリに復旧できたファイルが 作られます。 このままだと、直近で消したファイル以外にも大量のファイルが復旧 対象となるので、--before date オプションで対象となるファイルの削除 日時を指定することも可能です。 新しい ext4 パーティションに kernelソースを展開した後、削除して 復旧できるか試してみました。 パーティションを作成して、kernelソースを展開 # /sbin/mkfs.ext4 /dev/sdb4 # mount /dev/sdb4 /mnt/sdb4 # cd /mnt/sdb4 # wget -O - http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.4.tar.bz2 | bunzip2 -c | tar xfv - # find linux-2.6.38.4/ -type d | wc -l 2223 # find linux-2.6.38.4/ -type f | wc -l 35867 削除します。 # rm -rf linux-2.6.38.4/ 復旧対象のパーティションを unmount して、extundelete を実行すると、 カレントディレクトリに RECOVERED_FILES ができます。 # cd /tmp # umount /mnt/sdb4 # extundelete --restore-all /dev/sdb4 # mount /dev/sdb4 /mnt/sdb4 復旧できたファイル数をみると、35867個中 35821個 (99.9%) がファイルの中身 も含めて復旧できました。 # find RECOVERED_FILES/linux-2.6.38.4 -type d | wc -l 2222 # find RECOVERED_FILES/linux-2.6.38.4 -type f | wc -l 35821 # diff -rs orig/linux-2.6.38.4 RECOVERED_FILES/linux-2.6.38.4 | grep "are identical" | wc -l 35821 # LANG=C diff -r orig/linux-2.6.38.4 RECOVERED_FILES/linux-2.6.38.4 | egrep "^Only in orig" | wc -l 47 ただし、これは削除した直後に extundelete を実行した、理想的な 条件です。常にこのように高確率で復旧できる保証はありません。 大切なファイルはバックアップを欠かさないようにしましょう。 ================================================== NAKAMURA Kenta / 中村健太 Mail: kenta@xxxxxxxxxxxxx ==================================================