Можете ли вы иметь несколько потерянных и найденных каталогов?


10

Я не знал о mklost+foundкоманде, пока не прочитал этот вопрос .

Команда mklost+foundсоздаст новый каталог lost + found в pwd.

  1. Зачем вам когда-нибудь запускать эту команду? Каталог lost + found уже существует в / на каждом дистрибутиве, который я проверял.

  2. Что произойдет, если у вас есть несколько потерянных и найденных каталогов? Будут ли восстановленные фрагменты данных попадать в каталог lost + found в / или в последний созданный каталог lost + found?

Я не уверен, как я мог сознательно создать фрагмент данных, чтобы проверить это.


3
rm -rf /lost+found, Упс ...
cjm

Ответы:


11

Зачем вам когда-нибудь запускать эту команду?

В случае, если lost+foundкаталог не существует. Поскольку это просто обычный каталог, rootпользователь может удалить его, используя rm -r. Некоторые версии fsck, когда им нужно использовать lost+foundкаталог, будут создавать его, если он не существует, а некоторые версии не будут. Если нет lost+foundкаталога, fsckневозможно восстановить потерянные файлы, то есть файлы, которые не имеют записей каталога, ссылающихся на них.

Linux-версия mklost+foundимеет следующую функцию (со страницы руководства mklost + found ):

mklost+foundпредварительно выделяет блоки диска в каталог lost + found, чтобы при запуске e2fsck (8) для восстановления файловой системы не требовалось выделять блоки в файловой системе для хранения большого количества несвязанных файлов. Это гарантирует, что e2fsck не будет выделять блоки данных в файловой системе во время восстановления.

Это означает, что если вам придется восстанавливать файлы из поврежденной файловой системы, используя fsckменьшее количество файлов, они будут потеряны как часть процесса восстановления, поскольку fsckне нужно выделять блоки из файловой системы; такие блоки, которые могут содержать действительные данные файла.

Что произойдет, если у вас есть несколько потерянных и найденных каталогов?

Для данной файловой системы fsckбудет использоваться только один lost+foundкаталог: тот, который находится в корневом каталоге файловой системы. Любой другой lost+foundкаталог не будет рассматриваться специально.


3

Q1. Зачем вам когда-нибудь запускать эту команду? Каталог lost + found уже существует в / на каждом дистрибутиве, который я проверял.

Что-то нужно создать lost+found, эта команда должна была это сделать. Каждая среда, которую вы монтируете, нуждается в поддержке lost+found.

выдержка из справочной страницы

mklost + found используется для создания каталога lost + found в текущем рабочем каталоге во второй расширенной файловой системе Linux. Обычно в корневом каталоге каждой файловой системы есть каталог lost + found.

Что хорошего в создании lost+foundкаталога?

mklost + found предварительно распределяет блоки диска в каталоге lost + found, поэтому при запуске e2fsck (8) для восстановления файловой системы не требуется выделять блоки в файловой системе для хранения большого количества несвязанных файлов. Это гарантирует, что e2fsck не будет выделять блоки данных в файловой системе во время восстановления.

Q2. Что произойдет, если у вас есть несколько потерянных и найденных каталогов? Будут ли восстановленные фрагменты данных попадать в каталог lost + found в / или в последний созданный каталог lost + found?

Я ожидаю, что последним будет тот, который используется, e2fsckесли ему нужно переместить блоки данных в lost+found.


«Что-то нужно создать lost+found»: Да, но в большинстве случаев это команда mke2fs.
Нейт Элдридж

2

«Каталог lost + found уже существует в /каждом дистрибутиве, который я проверял».

Но дело не в этом. Каждая «настоящая» файловая система (которая сопоставляется с блочным хранилищем в некотором роде, в отличие от псевдофайловых систем, таких как / proc и swap), нуждается в приюте lost + found. Например, если у вас есть отдельная файловая система для / home, то она должна быть /home/lost+found. Это потому, fsckчто не будет перемещать файл /lost+foundв корневую файловую систему; он оставляет файлы, которые он находит, где он их нашел, но создает запись в каталоге в приюте, чтобы человек мог вмешаться, чтобы организовать соответствующее усыновление. Знание того, что что-то /home/lost+foundпротив, /var/lost+foundможет значительно облегчить это ручное вмешательство.


0

По данным Essential System Administration

Ошибки на диске или неправильное завершение работы системы могут привести к потере файлов: потерянные файлы относятся к расположению диска, которое помечено как используемое в структурах данных на диске, но не указано ни в одном каталоге (например, непустое значение ode это не указано ни в одном каталоге). Когда система загружается, она запускает программу под названием fsck, которая, помимо прочего, находит эти файлы. В каждом разделе диска есть каталог lost + found; / lost + found находится на корневом диске.

Скорее всего, такие утилиты, как fsck look, помещают фрагменты файла в каталог lost + found внутри корня соответствующего раздела. Другие каталоги lost + found следует игнорировать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.