Linuxで削除されたファイルを復元する方法
これがあなたに起こったことがありますか?あなたは誤ってファイルを削除したことに気づきました - Delキー、またはコマンドラインでrmを使用して。
最初の場合、常にゴミ箱に行き、ファイルを検索して元の場所に復元できます。しかし、2番目の場合はどうでしょうか?多分ご存知のように、Linuxのコマンドラインは削除されたファイルをどこにも送らず、単に削除してしまいます。残念ながら、もうなくなっています。
おすすめの読書: Scalpelツールを使用して削除されたファイル/ディレクトリを復元する方法
この記事では、これがあなたに起こるのを防ぐために役立ちそうなヒントと、もしあなたがうっかりそれをしてしまった場合に考慮すべきツールを共有します。
'rm -i' のエイリアスを作成する
-i スイッチは、rm(および cp や mv などの他のファイル操作ツール)と一緒に使用されると、ファイルを削除する前にプロンプトが表示されるようになります。
同じ名前のファイルが既に存在する場所でファイルをコピー、移動、または名前変更する場合も同様です。
このプロンプトは、実際にファイルを削除したいかどうか再考する第二のチャンスを与えます – プロンプトを確認すると、ファイルは消去されます。その場合、申し訳ありませんが、このヒントはあなた自身の不注意からあなたを保護することはありません。
rmを'rm -i'というエイリアスに置き換えるには、次のようにします:
alias rm='rm -i'
エイリアス コマンドは rm が現在エイリアスされていることを確認します:
しかし、これは現在のシェルの現在のユーザーセッション中のみ持続します。変更を永続化するには、以下のように~/.bashrc(一部のディストリビューションでは代わりに~/.profileを使用する場合があります)に保存する必要があります。
~/.bashrc(または ~/.profile)の変更を即座に反映させるためには、現在のシェルからファイルをソースします:
. ~/.bashrc
法医学ツール - Foremost
できれば、あなたはファイルに注意を払い、外部ディスクやUSBドライブから失われたファイルを復元する際にのみこのツールを使用することになるでしょう。
しかし、もし自分のシステムからファイルを誤って削除してしまったことに気づき、パニックになりそうになったら、そうしないでください。まず、このようなシナリオのために設計されたフォレンジックツールの最初のものを見てみましょう。
CentOS/RHEL 7にforemostをインストールするには、最初にRepoforgeを有効にする必要があります。
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install foremost
一方、Debianおよびその派生版では、単に次のようにします
# aptitude install foremost
インストールが完了したら、簡単なテストを行いましょう。まず、/boot/images ディレクトリから nosdos.jpg という名前の画像ファイルを削除します:
# cd images
rm nosdos.jpg
それを回復するには、まず以下のように foremost を使用します(根本的なパーティションを特定する必要があります - この場合、/boot が存在するのは /dev/sda1 です):
# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued
/home/gacanepa/rescued は別のディスク上のディレクトリです - 削除したファイルがあった同じドライブでファイルを復元することは賢明な選択ではないことを忘れないでください。
復旧中に、削除されたファイルが存在していた同じディスクセクターを占有してしまうと、何も回復できなくなる可能性があります。また、復旧作業を行う前に、すべての活動を停止することが重要です。
最初の処理が終了すると、回復可能な場合、回復されたファイルは/home/gacanepa/rescued/jpgディレクトリ内に見つかります。
要約
この記事では、ファイルを誤って削除するのを避ける方法と、そのような望ましくない事態が発生した場合にそれを回復する方法を説明しました。ただし、パーティションのサイズによっては、Foremostの実行にはかなりの時間がかかることに注意してください。
いつものように、質問やコメントがあれば遠慮なくお知らせください。下のフォームを使ってお気軽にご連絡ください。


