- 10 способов восстановления удалённых файлов в linux
- Комментарии
- Как в Linux восстановить удаленные файлы [гид для новичков]
- Как восстанавливать удаленные файлы с помощью TestDisk в Linux
- Шаг 4
- Шаг 5
- Шаг 6
- Шаг 7
- Шаг 8
- Шаг 9
- Шаг 10
- Пара советов по восстановлению файлов с помощью TestDisk
- Восстановление открытых файлов но удаленных c файловой системы linux
- Предыстория
- Восстанавливаем файл
10 способов восстановления удалённых файлов в linux
Я никого не знаю, кто хотя бы раз случайно не удалил файл и не попытался бы его восстановить. В Windows восстановление файлов — относительно легкая операция. Но как это сделать в Linux? Точнее, если что-то было удалено из командной строки в экране Терминала, как восстановить этот файл? В некоторых дистрибутивах Linux, таких как Ubuntu, существует корзина, но в большинстве других её нет. Удалённые файлы просто отправляются в небытье.
Второй совет — делать резервные копии. Для копирования важных каталогов и файлов на другую систему или раздел можно воспользоваться утилитой rsync. С помощью crontab это можно делать ежедневно или даже ежечасно.
Итак, рассмотрим 10 способов восстановления удалённых файлов:
- Recover — автоматизирует некоторые шаги восстановления утерянного файла, описанные в Linux Ext2fs Undeletion Mini-HOWTO ( перевод ). Эта утилита значительно увеличит эффективность восстановления. Она рекомендуется тем, кто не знает, как восстанавливать файлы.
- athena-delete — была написана для проекта Athena по запросам множества новых пользователей UNIX, случайно удалявших нужные им файлы.
- unrm — небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удалённых данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO. Применение:
unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device [block. ]
e2undel -d device -s path [-a][-t] -d файловая система, где искать удалённые файлы -s каталог, в который сохранять восстановленные файлы -a работать на всех файлах -t попытаться определить тип удалённых файлов без имён -l просто выдать список валидных файлов в лог-файл undel
Комментарии
- Dankoozy on June 21, 2007 4:10 pm Don’t forget a utility called ‘foremost’. I used it for recovering stuff off microdrives and CF cards. First I make an image of the thing onto the hard disc, then I run foremost on that image which recovers the files. Its detection is based on the headers of certain file formats, though it will work on any filesystem the types of files it will recover is slightly limited.
http://foremost.sourceforge.net/ - В.А.Костромин, 10 ноября 2010 г. Заметка сильно устарела. Часть приведенных выше ссылок уже не работают (Recover, rfs), разработка других утилит давно заброшена (последние обновления e2undel — April 2004, anyfs-tools — 10 Aug 2008, findfile — March 18, 2004, e2retrieve тестировалась на Suse 8.2 и Redhat 6.2).
Как в Linux восстановить удаленные файлы [гид для новичков]
Статья расскажет о том, как в Linux с помощью инструмента командной строки Test Tool восстановить удаленные файлы. Это легкий в использовании инструмент, который практически любой сможет использовать в целях восстановления утерянных файлов в Ubuntu или иных дистрибутивах Linux.
Вы когда-нибудь были в ужасе? В ужасе от понимания того, что файлы стерты и даже из корзины. Зачастую за ужасом приходит следующая фаза — отрицание. Ее запускает мысль: “Я знаю, что где-то лежит копия”.
Но вместо того, чтобы проходить все эти фазы, лучше не беспокоиться. Главное помните, вы не одни. Рано или поздно все через это проходят.
“Не беспокоится? — возразите вы, — Я только что стер единственную копию резюме!”
Нет, правда, не беспокойтесь. На самом деле все, что вы удалили просто было вынесено из списка. Пока вы больше ничего на него не запишете все останется на месте. На самом деле, даже если после удаления записать что-то на диск, то есть шанс, что удаленная информация все равно на нем останется (это зависит от размера удаленной информации и оставшегося свободного места, но все же).
“Да, хорошо, — скажете вы, — мне легче от мысли, что резюме ‘существует’ в неком абстрактном месте. Но теперь меня беспокоит, что его нельзя открыть, отредактировать или распечатать. То есть все равно его будто нет. Очень помогло бы найти способ ‘разудалить’ файл. Ну и чтобы этот способ не требовал наличие исследовательской IT лаборатории”.
Правда, не беспокойтесь — лаборатории не понадобится. Боле того, если вы не боитесь примитивных графических интерфейсов, то это еще и весьма несложно провернуть. Я продемонстрирую вам, как использовать Test Disk для восстановления файлов.
Как восстанавливать удаленные файлы с помощью TestDisk в Linux
Давайте приведу простой пример: я подключил флешку, загрузил на нее файлы и что-то удалил. Теперь, в моей системе есть возможность удаления файлов прямо с флешки, в обход корзины. Для этого надо на файле нажать правой кнопкой мыши и выбрать “delete”. Будет выведено предупреждение. После нажатия на кнопку “yes” все файлы будут удалены безвозвратно. По крайней мере так кажется.
Но теперь у меня нет этого ужасного чувства. И нет, это не потому что все по сценарию. Я знаю, что мне нужно всего лишь открыть терминал и написать “testdisk” и нажать “enter. И тут наступает один из этих “Linux моментов”. Если у вас нет данного инструмента, то он напишет, как его установить! Просто введите “sudo apt install testdisk”, нажмите “enter” и через 10 секунд он у вас.
Если вы предпочитаете видео, то можете посмотреть ролик с тем же руководством на YouTube канале FOSS:
Экран с дополнительными командами их подскажет. Также стоит отметить, что TestDisk 7.0 выделяет следующий логический шаг, но практически всегда правильно читать, что написано на экране, так как инструмент не умеет читать мысли. В любом случае, если TestDisk просто позволения создать log file, соглашайтесь — это полезно.
Шаг 4
Теперь, в данный момент, если вам повезет, вы должны увидеть свой диск. Можете переходить к последним шагам. Но давайте представим, что диска нет, скажем, у вас мультизагрузка. В таком случае права доступа могут съехать, и TestDisk потребует разрешение на открытие. Вы увидите нечто подобное:
Выберите “sudo” и введите пароль. Нажмите “enter” и “enter” снова на следующем экране для того, чтобы создать log file.
Шаг 5
В этот раз TestDisk отобразит все диски. С помощью стрелочек выберите нужный диск и нажмите “enter”:
Шаг 6
TestDisk снова выбрал верный вариант. Логично, так как простое устройство для хранения данных редко бывает разбитым. Снова жмем “enter”:
Шаг 7
А вот теперь пора подумать. Если вы прочли первый экран (а я в этом не уверен), то наверняка поняли, что это не просто программа для восстановления удаленных файлов. Это мощная дисковая утилита. Но, если мы помним, чего делаем, то выбор не составит труда: мы не пытаемся починить диск, мы пытаемся его восстановить. Выбираем “Advanced” и жмем “enetr”:
Шаг 8
Снизу страницы находим “Undelete” и готовимся увидеть привидение!
Шаг 9
TestDisk начнет искать файлы и сгенерирует список удаленных файлов, выделенных красным. Стрелкой спускаемся к нему и внимательно изучаем варианты внизу страницы.
Шаг 10
И снова, не забываем, что TestDisk многофункциональное средство. Большинство вариантов отвечает за работу с группами файлов. Нам же просто надо их вернуть! Жмем “c”.
Счет 1-0 в нашу пользу. После нажатия на “c” появились варианты мест для сохранения. По дефолту файлы сохранятся в домашнюю директорию. По сути, это опять отличный вариант, так как навигация в TestDisk местами замороченная.
Пара советов по восстановлению файлов с помощью TestDisk
Во-первых, если вы не понимаете где оказались, для возврата жмите на “q”. Так вы не закроете программу и не потеряете прогресс. “q” ведет себя как кнопка “назад” в классических приложениях с графическим интерфейсом — будете постоянно жать “q”, в какой-то момент окажетесь на стартовом экране.
Во-вторых, чем меньше отвлекающих моментов, тем проще найти то, что ищешь. Иными словами, отключите все не нужные в процессе восстановления хранилища. В минималистичных окружениях простота — друг.
Наконец, TestDisk может помочь восстановить файлы, которые стали недоступны по другим причинам. На самом деле я стал пользоваться ей именно из-за этого. Я пытался сохранить файлы с испорченного диска, отказывающегося запускаться.
Что если диск отформатирован в LVM? Это мой случай. Подключенный LVM диск совсем не похож на обычную Linux ОП. Обычные файлы не появляются, а что-то вычленить не выходит. Это, на ряду с иными причинами, происходит из-за того что большинство файловых менеджеров Linux больше не умеют работать с файловыми системами ext.2
Так или иначе, после печального начала, у меня получилось найти и восстановить утраченные файлы. Отмечу, что в вышеописанном случае шаги будут немного другими. Вам возможно понадобиться использовать функцию “Analyze”. Она приведет диск к нужному состоянию и вам останется только потыкаться в поисках домашней директории. А еще файлы не будут отмеченными красным, ведь их не удаляли. Как только вы их найдете процедура копирования будет такой же.
С TestDisk и небольшой долей удачи вы никогда не потеряете свое резюме, так как всегда сможете восстановить удаленные файлы в Linux.
Восстановление открытых файлов но удаленных c файловой системы linux
Всех с прошедшим новым годом!
В этой заметке я бы хотел поделиться как можно восстановить открытый файл в linux.
Предыстория
Зашел человек на канал посвященный debian в jabber и сказал что взломали его jabber-bot и выполнили команду:
так как это было выполнено не под рутом, особых проблем быть не должно, но конфигурационные файлы бота удалены. Бот остался запущен и задача была восстановить открытые им файлы и попробовать максимально быстро поднять всё с теми же настройками.
Восстанавливаем файл
Первым делом нам нужно убедиться что у нас стоит приложение lsof и примонтирован procfs в /proc.
В этой заметке я буду считать что в системе где будут восстанавливаться открытые файлы все нужные приложения стоят, root доступ есть, всё примонтировано как нужно.
Первым делом нам нужно найти открытый файл с помощью программы lsof:
$ sudo lsof | grep /home/anton/.xsession-errors kwin 2031 4002 anton 2w REG 253,3 4486557 1835028 /home/anton/.xsession-errors
kwin 2031 4002 anton 2w REG 253,3 4486557 1835028 /home/anton/.xsession-errors
$ sudo cp /proc/2031/fd/2 /home/anton/.xsession-error
На этом всё, так можно восстановить открытый файл, но который по какой-то причине был удален.
UPD1: Меня спросили как найти и восстановить все открытые файлы конкретным приложением.
Предположим мы знаем 1 файл который нужно восстановить, мы его нашли с помощью
$ sudo lsof | grep /home/anton/.xsession-errors kwin 2031 anton 2w REG 253,3 4486557 1835028 /home/anton/.xsession-errors
Мы знаем что 2031 — это pid процесса который держит ваш файл. Нам нужно найти все файлы которые держать открытыми данный процесс:
$ sudo lsof -p 2031 | grep deleted
После чего просто восстанавливаем все файлы как описано выше.
UPD2: Почему я использую grep для поиска файлов вместо параметра, который работает быстрей?
Я использую grep так как там видно удален файл или нет, я считаю это более удобным (ИМХО)
UPD3: Также можно посмотреть все открытые файлы процесса через комманду ls, пометки deleted будут, пример: