Abstract |
Представьте себе следующую картину. Последние три дня вы не ели, не спали, даже не принимали душ. И, наконец, ваши усилия вознаграждены: вы закончили программу, которая принесет вам всемирную известность и славу. Все, что вам осталось сделать - это запаковать ее архиватором tar и поместить на Metalab. Да... и удалить все копии старых файлов, созданные Emacs. Итак, вы набиваете на клавиатуре rm * ~. Лишний пробел в вашей команде вы замечаете слишком поздно. Вы только что удалили вашу супер программу! Но помощь у вас под рукой. Этот документ рассказывает, как можно восстановить удаленные файлы с файловой системы ext2 (Second Extended File System). Может быть, несмотря ни на что, вам удастся выпустить вашу программу... |
Этот мини-Howto предоставляет вам возможность восстановить удаленные с файловой системы ext2 файлы. В нем также содержатся некоторые советы о том, как можно избежать удаления файлов.
В первую очередь, этот документ предназначался для людей, случайно, если так можно выразиться, пострадавших от rm. Впрочем, надеемся, что остальные пользователи также прочитают его. Никогда нельзя быть уверенным во всем - может быть однажды информация из этого документа вам очень пригодится.
Мы предполагаем, что вы знакомы с файловыми системами UNIX. Впрочем, мы надеемся, что он вполне доступен большинству пользователей Linux. Если вы начинающий пользователь, учтите, что восстановление удаленных файлов под Linux все же требует некоторых технических знаний и упорства.
Вы не сможете восстановить удаленные файлы с файловой системы ext2, как минимум, без прав доступа для чтения к непосредственно к устройству (device), на котором хранился файл. Подразумевается, что вы должны иметь права root, хотя некоторые дистрибутивы (например Debian GNU/Linux) имеют группу disk, члены которой имеют доступ к этим устройствам. Также вам потребуется утилита debugfs из пакета e2fsprogs, который должен быть установлен.
Почему мы написали этот документ? Потому, что имеем большой опыт случайного и непоправимого использования команды rm -r с правами root. Ваш покорный слуга однажды удалил около 97 необходимых JPEG файлов, которые невозможно было найти в других источников. Но, при помощи некоторых полезных подсказок (см. раздел Разд. Ссылки и благодарности) и большого терпения, я восстановил 91 файл в первозданном виде. Пять из оставшихся мне удалось восстановить частично (по крайней мере было понятно, что это за картинки). Лишь один файл невозможно было просмотреть, но, я уверен, что потерял не более 1024 байт информации (это очевидно из заголовка файла).
Ниже будет объяснено, какой процент восстановления удаленных файлов, вы можете ожидать, в зависимости от обстоятельств.
Предыдущие опубликованные версии документа:
версия 1.0, 18 января 1997
версия 1.1, 23 июля 1997 (см. раздел Разд. Изменения в версии 1.1)
версия 1.2, 4 августа 1997 (см. раздел Разд. Изменения в версии 1.2)
версия 1.3, 2 февраля 1999 (см. раздел Разд. Изменения в версии 1.3)
Какие изменения были внесены в эту версию? Во-первых, кое-что было изменено в самом примере, на котором показано восстановление файла. Спасибо всем, кто указал на ошибку. Надеюсь, я стал внимательнее при создании интерактивных программ.
Во-вторых, с целью облегчения понимания, описание файловой системы UNIX было переписано . Первоначальный вариант документа был не совсем удачен, но при помощи советов, присланных мне, я смог его подкорректировать.
В-третьих, в середине документа был убран огромный кусок закодированной uuencode программы fsgrab. Программу теперь можно найти на моем сайте и на сайте Metalab(и зеркалах).
В-четвертых, документ был переведен в LDP SGML. Этот язык (SGML) может быть легко преобразован в другие языки (включая HTML и LaTeX) для просмотра и печати. Одно из преимуществ - красивый вид в печатных изданиях, другое - наличие перекрестных ссылок при просмотре через WWW.
Эта версия является просто очередным выпуском. В основном, она была выпущена для внесения изменений, предложенных читателями, одно из которых очень важно.
Первое изменение было предложено Egil Kvaleberg egil@kvaleberg.no, и оно касалось команды dump в debugfs. Спасибо еще раз Egil.
Второе касается использования chattr, чтобы избежать удаления важных файлов. Спасибо Herman Suijs H.P.M.Suijs@kub.nl за упоминание об этом.
Абстрактная часть была пересмотрена. Были добавлены URL для организаций и программного обеспечения. Также были внесены некоторые другие незначительные изменения (исправлен typos и т.п.).
Хотя это первое обновление за 17 месяцев, мало что нового появилось в документе. В этой версии исправлены незначительные ошибки (typos, неправильные URL) и изменены некоторые части текста, к сожалению, устаревшие, например, данные о версиях ядра и lde. И еще, 'Sunsite' везде заменен на 'Metalab'.
Эта версия, скорее всего, будет последней перед версией 2.0, которая, как я надеюсь, будет полным Howto. Ведутся работы, результатом которых станут существенные изменения, они и приведут к увеличению первой цифры версии документа.
Последнюю версию этого документа всегда можно найти на сайте Linux Documentation Project (и зеркалах).
Последняя версия также лежит на моем сайте в нескольких форматах:
След. | ||
Несколько советов |