無論如何,一但發生硬碟檔案誤刪或損毀,第一件事就是重新掛載 partition 為 read-only,第二件事就是使用 dd 指令將原本的 partition copy 到另一個硬碟,至少建立了完整的分割區副本,一便不時之需。
首先先用 wget 下載 extundelete-0.2.0.tar.bz2 這個檔案,然後使用以下指令進行解壓縮
[root@server extundelete-0.2.0]# tar -xvf extundelete-0.2.0.tar.bz2
切換到解壓縮的目錄後先執行 ./configure
[root@server extundelete-0.2.0]# cd extundelete-0.2.0 [root@server extundelete-0.2.0]# ./configure Configuring extundelete 0.2.0 configure: error: Can't find ext2fs library [root@server extundelete-0.2.0]#
看來少了 ext2fs library,那麼參考以下指令用 yum 裝一下吧
[root@server extundelete-0.2.0]# yum install e2fsprogs-devel
再次執行 ./configure
[root@server extundelete-0.2.0]# ./configure Configuring extundelete 0.2.0 Writing generated files to disk [root@server extundelete-0.2.0]#
設定完成,接著執行 make 來編譯原始碼(這些動作我相信大家都很熟練了)
[root@server extundelete-0.2.0]# make make -s all-recursive Making all in src [root@server extundelete-0.2.0]#
編譯好的執行檔在 src 目錄中,各位可以使用以下指令對整個 partition 進行掃描,就可以自動救回誤刪檔案,是不是很間單呢?
[root@server extundelete-0.2.0]# ./src/extundelete /dev/sda1 --restore-all
如果還是失敗就要嘗試其他方法了,其他方法可就很痛苦了,比如先掃描所有刪除的 node,再用程式分析的方式重組檔案,之前的測試沒有都成功過,如果下次有機會再與大家分享心得。