відновити тільки що видалений файл на ext4 з extundelete


54

Чи є простий варіант extundeleteтого, як я можу спробувати відновити файл під назвою, /var/tmp/test.isoякий я щойно взяв на облік?

(це не так важливо, що я б почав перекомпонувати диск лише для читання або подібні речі. Я також можу просто знову завантажити цей файл)

Я шукаю просту команду, з якою можу спробувати, якщо мені вдасться швидко відновити її.

Я знаю, що можливо, перезавантаживши привід лише для читання : (див. Як я просто відновити єдиний файл на порожньому диску, щойно видалений? )

Але чи можливо це якось і на все ще встановленому диску?


Загальне запитання з будь-якою утилітою: unix.stackexchange.com/questions/2677/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Це інше питання занадто широке. Тут я шукаю швидке незахищене рішення без особливих зусиль (і менше шансів на успіх)
rubo77

Я не мав на увазі дубліката, але ви можете додати його до питання, чому цього питання було недостатньо.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Відповіді:


36

Дивлячись на посібник із використання extundelete, здається, ви обмежені лише тим, як відміняти файли кількома способами.

Відновлення всіх

extundelete призначений для видалення файлів з немонтаційного розділу в окремий (змонтований) розділ. extundelete відновить будь-які файли, які він знайде, у підкаталог поточного каталогу під назвою "RECOVERED_FILES". Щоб запустити програму, введіть "extundelete --help", щоб побачити різні доступні для вас варіанти.

Типове використання для відновлення всіх видалених файлів із розділу виглядає так:

    $ extundelete /dev/sda4 --restore-all

Відновлення одного файлу

На додаток до цього методу, виділеного у використанні командного рядка:

--restore-file path/to/deleted/file
    Attemps to restore the file which was deleted at the given filename, 
    called as "--restore-file dirname/filename".

Таким чином, ви повинні мати можливість досягти того, що ви хочете, роблячи це:

$ extundelete --restore-file /var/tmp/test.iso /dev/sda4

ПРИМІТКА. Для /dev/sda4виконання цієї команди в обох випадках потрібно знати пристрій . Вам доведеться перезавантажити файлову систему як прочитане. Це одна з умов використання, extundeleteі цього немає ніякого способу.


2
так, але це працює лише, якщо я пересчитав диск лише для читання
rubo77

1
@ rubo77 - правильно, цього немає.
slm

2
Це фактично працювало для мене файловою системою ext4, не повторюючи її лише для читання. Якщо ви спробуєте це зробити, не перераховуючи r / o, тоді ви отримуєте попередження, яке, здається, говорить вам про те, що ваша ймовірність успіху нижче, якщо ви це зробите. Якщо відновити файл дійсно надзвичайно важливо, то це здається, що ви повинні це зробити.
Бен Кроуелл

Як і @BenCrowell, я використовував без попередніх перешкод, але програма оголошує мене про пошкодження даних, якщо я продовжую використовувати hdd ... було нещодавно стерто, тому я просто натискаю Enter, щоб повернути свої файли назад;)
erm3nda

16

Типовий сценарій використання при відміні всіх файлів включає необхідність відновлення всіх видалених файлів /dev/sdX1протягом приблизно останньої години:

mount -o remount,ro /dev/sdX1
extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1
find RECOVERED_FILES/

Якщо задоволені відновленими файлами:

mount -o remount,rw /dev/sdX1

mount: потрібно вказати тип файлової системи

перерахунок очікує, що точка монтування не буде аргументом, а не пристроєм
Не хвилюйтесь, дитина

@ Don'tYouWorryChild mount -oприймає або реж або пристрій, відповідноman mount
sanmai

Замість того, щоб віднімати 2 години від дати, ви можете зробити, $(date -d "-2 hours" +%s)і результат lsblk -pможе бути корисним, щоб знайти, де знаходиться той зашифрований LUKS зашифрований об'єм EXT4, кешований LVM. ;)
LiveWireBT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.