Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Решение административных задач в Linux

10 способов восстановления удалённых файлов в linux

Источник: 10 Ways To Recover Deleted Files In Linux (блог http://www.goitexpert.com), June 21, 2007
Перевод: Александр Саввин (savvin@mail.ru)

Я никого не знаю, кто хотя бы раз случайно не удалил файл и не попытался бы его восстановить. В Windows восстановление файлов - относительно легкая операция. Но как это сделать в Linux? Точнее, если что-то было удалено из командной строки в экране Терминала, как восстановить этот файл? В некоторых дистрибутивах Linux, таких как Ubuntu, существует корзина, но в большинстве других её нет. Удалённые файлы просто отправляются в небытье.

Вот хороший совет для новичков - измените команду rm:
    alias rm='rm -i'
Таким образом при каждом удалении файла система будет запрашивать подтверждение.

Второй совет - делать резервные копии. Для копирования важных каталогов и файлов на другую систему или раздел можно воспользоваться утилитой rsync. С помощью crontab это можно делать ежедневно или даже ежечасно.

Итак, рассмотрим 10 способов восстановления удалённых файлов:

  1. Recover - автоматизирует некоторые шаги восстановления утерянного файла, описанные в Linux Ext2fs Undeletion Mini-HOWTO (перевод). Эта утилита значительно увеличит эффективность восстановления. Она рекомендуется тем, кто не знает, как восстанавливать файлы.
  2. athena-delete - была написана для проекта Athena по запросам множества новых пользователей UNIX, случайно удалявших нужные им файлы.
  3. unrm - небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удалённых данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO. Применение:
    unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device [block...] 
  4. gET_iT_i_sAY - средство восстановления файлов для файловых систем Ext2/Ext3. После установки могут быть восстановлены текущие файлы и новые созданные файлы в /root и /home. Она позволяет пользователям восстановить все удалённые файлы, восстанавливать файлы, принадлежащие указанному пользователю, выводить (dump) данные из местанахождения файлов и восстанавливать файлы определённого типа, типа текста или MP3. Имеется также анализатор, помогающий пользователям во время восстановления.
  5. e2undel - интерактивный консольный инструмент для восстановления данных из удалённых файлов в файловой системе ext2 в Linux. Включает в себя библиотеку, позволяющую восстанавливать удалённые файлы по именам. e2undel не управляет внутренними структурами ext2 и не требует дополнительных средств. Она может быть полезна без знания внутреней структуры ext2. Применение:
     e2undel -d device -s path [-a][-t] 
      -d	файловая система, где искать удалённые файлы
      -s	каталог, в который сохранять восстановленные файлы
      -a	работать на всех файлах
      -t	попытаться определить тип удалённых файлов без имён
      -l	просто выдать список валидных файлов в лог-файл undel
    
    Устройство должно быть отмонтировано и путь не должен указываться вместе с устройством.
  6. anyfs-tools - позволяет восстанавливать и конвертировать файловые системы с минимальным использованием дополнительного дискового пространства. В отличие от других средств восстановления anyfs-tools не копирует все обнаруженные файлы на другие диски (или разделы), а просто сохраняет информацию о размещении блоков файлов во внешней таблице inode. После восстановления пользователь может примонтировать повреждённую файловую систему с помощью anyfs и внешней таблицей inode и затем работать со всеми восстановленными файлами в любой программе.
  7. rfs - консольный скрип для создания и обновления локального запасного системного диска. Основное назначение - быстрое восстановление работающей системы после падения. В данном случае "быстрое" означает время, затрачиваемое им до перезагрузки машины. rfs является сокращением от 'replication of filesystem' (копия файловой системы). Аналогично rsyncbackup, rfs основан на rsync.
  8. e2retrieve - средство восстановление данных Ext2, работающее с обрезанными или частичными файловыми системами. Оно очень полезно для получения данных при повреждении диска из LVM. Оно не восстанавливает файловую систему, но извлекает и копирует большинство данных, которые оно может получить из "сырых" данных Ext2.
  9. findfile - набор средств для восстановления файлов в файловых системах с разрушенными каталогами, таблицами размещения и т.п. Он может быть полезен при разрушенной таблице разделов (или больше) жёсткого диска или при повреждённой карте памяти от цифровой камеры.
  10. TestDisk - средство для проверки и восстановления разделов. Работает со следующими разделами: FAT12, FAT16, FAT32, Linux, Linux swap (версий 1 и 2), NTFS (Windows NT/W2k/2003), BeFS (BeOS), UFS (BSD), JFS, XFS и Netware.

Комментарии

  1. 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/

  2. В.А.Костромин, 10 ноября 2010 г.

    Заметка сильно устарела. Часть приведенных выше ссылок уже не работают (Recover, rfs), разработка других утилит давно заброшена (последние обновления e2undel - April 2004, anyfs-tools - 10 Aug 2008, findfile - March 18, 2004, e2retrieve тестировалась на Suse 8.2 и Redhat 6.2).