Смеркалось. Кодил я что-то, и случайно грохнул файл, над которым работал целый день. Насмерть грохнул, мимо корзины. Решил попробовать восстановление файла, и вот что из этого получилось.
Нашел шикарнейшую утилиту для восстановления файлов — extundelete версии 0.2.4. Скачал исходники, собрал и попробовал восстановить результат работы за весь день. Надо сказать, что у меня система установлена на разделе /dev/sda1 (смонтирована в корень), а домашние директории пользователей находятся на /dev/sda4 и монтируются в /home.
Порядок восстановления файла такой:
# umount /dev/sda4 # /ramdisk/extundelete-0.2.4/src/extundelete --restore-file "usename/projects" -o /ramdisk /dev/sda4
В выводе было видно, что в usename/projects есть удаленные файлы. Inode = 3670592 . Теперь файл можно восстановить:
# /ramdisk/extundelete-0.2.4/src/extundelete --inode 3670592 --restore-file=usename/projects/myproject/mymodule.pl /dev/sda4 Successfully restored file usename/projects/myproject/mymodule.pl
Файл оказался сохранен в /ramdisk/RECOVERED_FILES/username/projects/myproject/mymodule.pl Осталось только смонтировать /home и перекинуть файл обратно.