Відновлення даних в ubuntu

Видалив я все файли в домашній директорії на своєму нетбуці. Видаляв через консоль, тому з кошика не відновити. Найважливіше було напевно фотографії, конфиг emacs і деякі документи малої ваги. Почав шукати кошти типу "undelete" та інші, і натрапив на foremost. яка мені здалася простий у використанні.

Відразу скажу любителям висловлювань "це все через те що ти сидиш з правами рута постійно", в домашньому каталозі всі файли з моїми правами та сидячи я під собою я видалив би їх всерівно! Якби це була інша директорія, то я б погодився з ними.

Передісторія

А взагалі видалив я при дивних збіги обставин, ось як це було:
Запустив mc. натиснув Ctrl + O, потрапив в консоль, далі:

Тепер захотів вийти з консолі і потрапити в mc:
і натискаючи Crtl + O, випадково натиснув Ctrl + P (прям як наш президент з мое6), при цьому нажалася спочатку Ctrl + P і вилізла попередня команда:

і після чого нажалася відразу Ctrl + O що повернула мене в mc.

Я подумав що нічого страшного, так як я вже в режимі файлового менеджера (в нижній консолі нічого не було), і я захотів зайти в ./project.
Натискаю на каталог "project". І ось тут то і настав пипец, mc завис, HDD зашурхотів, я став вирубувати консоль, але мабуть було вже пізно. )

відновлення файлів

Встановимо утиліту foremost:

Проведе аудит і створить файл звіту:

Відновить всі файли:

Відновить файли певного типу:

Бажано каталог для відновлення мати на іншому носії, примонтировать в вашу систему, наприклад зовнішній жорсткий диск і т.д. Для того, щоб відновлені дані не перезатерлі то що ви ще не відновили.

Скрипт для видалення дублікатів

Так як foremost відновлює всі підряд, то трапляються дублікати файлів, які у вмісті повністю ідентичні.
Тому я вирішив написати скриптик, який видалить дублікати і залишить тільки оригінали.

Він отримує md5-хеш вмісту файлу, кладе його в список, якщо в списку вже є такий хеш, то файл видаляється, якщо немає, то переходить до наступного файлу.
Для тих хто думає що можуть бути колізії, то треба расскоментіть в середині скрипта блок коду, який перевірить ще й по змісту файлу, в разі якщо його хеш знайдений в списку.

Користуватися треба так:

Забезпечимо себе на майбутнє

Ну, почнемо з малого, в

/.bashrc (або в іншому Шелі, наприклад

/.cshrc) пропишемо алиас, який перед видаленням буде задавати питання:

Мені це не особливо подобається, так як набридає.

Утиліта trash-cli

Ще краще ідея з фоновим переміщенням даних в кошик, наприклад викладена недавно тут Анатолієм Ларіним. Для цього будемо використовувати утиліту trash-cli, яка написана на python і складається з декількох команд, про які нижче.

У кожного користувача системи є своя корзина, що щось на кшталт:

Ось там то і будуть зберігатися наші файли, які при необхідності ми зможемо витягнути або видалити назовсім.

Встановимо утиліту "trash-cli":

Створюємо алиас на видалення (

/.bashrc, а так само не забудьте прописати для /root/.bashrc):

Для цікавих: я пробував створити користувача, накидати туди файлів і каталогів, після чого видалити всі у нього, але він спіткнувся на каталозі кошика і викинув ексепшен, так що дані залишаться цілі.

наостанок

Після видалення поменше нервуйте і все ви зможете відновити, головне не панікуйте, а то дров ще більших нарубати. )

Така ось ситуація. під виндой накрився диск, тобто фізично він видно, але в директорії не завітати. з під Убунту відкрився, приятель порекомендував зробити бекап потрібних папок, сказано зроблено, але під час виконання операції бекапа вискочило вікно що повідомляє що то типу того, що є нечитабельним сектора. все ок, тільки ось після бекапа зникло багато потрібних файлів, в основному фотографії. зникло в прямому сенсі цього слова, ніби їх і не було. Хто підкаже, як можна відновити дані. Диск USB-шний, NTFS, під виндой не читається.

Погуглити такі програми як GetDataBack, mhdd

була подібна ситуація з ufs2 теж під виндой відновили, назва проги вже не пам'ятаю

А якщо випадково видалив папку, наприклад папка "123" і мені не треба інші файли. як конкретно можна тільки цю папку з усім її вмістом витягнути на місце?

Коли видаляються файли, то віддаляється запис в системній таблиці файлової системи і виходить що шляхи до файлу вже не існує. Так що доведеться все відновити, а потім знайти свої файли. Можливо, в сучасних ФС є будь-які бекапи для файлової таблиці або ФС поводиться поіншому якось, на жаль, я не великий знавець знань по влаштуванню ФС.

А яка у вас ФС, до речі?

добрий день (ніч).
Проблема така - я при установці Убунту ненавмисно відформатував весь жорсткий диск з ntfs в ext. Відновити все напевно, нереально, тому таке питання - foremost виявить хоч якось файли, що не? Може, якісь хитрощі є? Зокрема цікавлять txt і mbs (операмейловскій формат)
Дякуємо.

Відновлення даних в ubuntu

Схожі статті