はじめに
Ubuntuでファイルを削除してしまった!Windowsであれば、ごみ箱から復元したらいいだけなのだが、Linuxではこのような仕組みにはなっていません。しかも、mvするつもりが、rmをしてしまったという経験はありませんでしょうか?そこで、ファイルを思わず削除してしまっても、復元する手順は予め知っておいた方がいいでしょう。という事で記事を書きました。復元するには、いくつかの方法があるようですが、今回は、extundeleteというツールを使って復元しました。デフォルトではプレインストールされていないコマンドなので、コマンドがない環境の方は、個別にインストールして下さい。
参考URL
https://ameblo.jp/itboy/entry-11249111402.html
環境
Vagrant + Ubuntu 16.04.5 LTS
やったこと
パーティションの情報を表示して、Mounted on が / になっているディレクトリのファイルシステムを調べます。自分の環境では、Vagrantで動かしているため、 /dev/mapper/vagrant--vg-root になっています。因みにファイルシステムはext4です。
$df -hT
/home/vagrantにある、aa.txtを削除した後、復元してみます。
$rm aa.txt
extundeleteコマンドを実行する。
$sudo extundelete --restore-file /home/vagrant/aa.txt /dev/mapper/vagrant--vg-root
すると、カレントディレクトリに、RECOVERED_FILESという名のディレクトリが作成されます。
$ls -l
このディレクトリの中を見ると、削除したaa.txtが復元されています。
$ls -l RECOVERED_FILES/home/vagrant/
復元されたファイルをカレントディレクトリに持ってきます。
$cp RECOVERED_FILES/home/vagrant/aa.txt ./
復元されたディレクトリは削除しておきます。
$sudo rm -r RECOVERED_FILES/
状態が戻った事を確認してOK。
$ls -l