FSCK(1M)

НАЗВАНИЕ
fsck, dfsck - проверка целостности файловой системы и интерактивная коррекция ошибок

СИНТАКСИС


 /etc/fsck  [-y] [-n] [-s[число_блоков_на_цилиндре:промежуток]]

       [-S[число_блоков_на_цилиндре:промежуток]] [-t файл] [-q] [-D] [-f]

       [файловая_система ...]



 /etc/dfsck  [набор_опций_1] файловая_система_1 ...

       - [набор_опций_2] файловая_система_2 ...

ОПИСАНИЕ
Утилита fsck выявляет и в интерактивном режиме исправляет ошибки в файловой_системе, заданной именем содержащего ее специального файла. Если целостность файловой системы не нарушена, выдается количество файлов, а также количество занятых и свободных блоков. В противном случае запрашивается подтверждение на каждое действие по ликвидации повреждений. Необходимо отметить, что почти всегда при ликвидации повреждений файловой системы происходит частичная потеря информации. Количество потерянных данных и серьезность потери может быть определена по выдаваемой диагностике. В случае положительного ответа (yes) повреждение ликвидируется. Если у пользователя, запустившего fsck, нет прав на запись, считается, что ответ на все вопросы отрицательный (no).

Опциям утилиты fsck приписан следующий смысл:

-y
Считать, что на все вопросы дается положительный ответ.

-n
Считать, что на все вопросы дается отрицательный ответ. Не открывать файловую систему на запись.

-s[число_блоков_на_цилиндре:промежуток]
Игнорировать существующий список свободных блоков и создать новый список, перезаписав суперблок файловой системы. При этой операции файловая система должна быть размонтирована. Если размонтирование системы невозможно (например, для корневой системы), то необходимо убедиться, что к файловой системе нет обращений, а сразу после выполнения операции перезагрузить систему. Такая предосторожность необходима для того, чтобы старая, плохая копия суперблока, находящаяся в памяти, больше не использовалась и не была записана на диск.

Опция -s позволяет создать список свободных блоков, оптимальный с точки зрения времени доступа. Если аргументы опции не указаны, используются значения, заданные при создании файловой системы [см. mkfs(1M)]. Если и при создании файловой системы они не были заданы, используется пара 400:7.

-S[число_блоков_на_цилиндре:промежуток]
Условная реконструкция списка свободных блоков. Эта опция действует так же, как описанная выше опция -s, однако список свободных блоков реконструируется, только если не было обнаружено нарушений целостности файловой системы. При использовании опции -S считается, что на все вопросы, задаваемые fsck, дается отрицательный ответ. Эта опция полезна для принудительной реорганизации списка свободных блоков целостных файловых систем.

-t файл
Если утилите fsck не хватает памяти для хранения своих таблиц, она использует временный файл. При отсутствии опции -t имя временного файла запрашивается у пользователя. Файл не должен принадлежать проверяемой файловой системе. Если указанный файл не является специальным и не существует, при завершении fsck он удаляется.

-q
Молчаливый вариант fsck. Не печатаются сообщения о возможных ошибках в размере файлов. Именованные каналы, на которые нет ссылок, удаляются без всяких сообщений. Если требуется, счетчики в суперблоке автоматически исправляются, список свободных блоков восстанавливается.

-D
Каталоги проверяются на наличие плохих блоков (используется после аварийных завершений системы).

-f
Быстрая проверка. Проверяются блоки и размеры (1 фаза) и список свободных блоков (5 фаза). Если необходимо, список свободных блоков реконструируется (6 фаза).

-b
По умолчанию, если проверяемая файловая система является корневой и в нее были внесены изменения, происходит перемонтирование (если повреждения были минимальны) или перезагрузка ОС. Опция -b вызывает принудительную перезагрузку ОС после устранения любых повреждений корневой файловой системы.

Если файловая_система не указана, проверяются файловые системы из списка, хранящегося в файле /etc/checklist.

Выявляются следующие нарушения целостности файловой системы:

  1. На блок имеется более одной ссылки из описателей файлов и/или списка свободных блоков.
  2. Блок, на который ссылается описатель файла или список свободных блоков, находится за пределами файловой системы.
  3. Некорректные счетчики числа ссылок.
  4. Проверка размеров:
    некорректное число блоков;
    размер каталога не кратен 16.
  5. Некорректный формат описателя файла
  6. Наличие неучтенных блоков.
  7. Проверка каталогов:
    элемент каталога указывает на свободный описатель файла;
    недопустимый номер описателя файла.
  8. Проверка суперблока:
    более 65536 описателей файлов;
    под описатели файлов выделено больше блоков, чем есть в файловой системе.
  9. Некорректный формат списка свободных блоков.
  10. Некорректные значения счетчиков свободных блоков и/или свободных описателей файлов.

Непустые файлы, на которые нет ссылок, с согласия пользователя (а каталоги - обязательно) перемещаются в каталог lost+found. Если не указана опция -n, пустые файлы и каталоги удаляются. Каталог lost+found должен существовать, располагаться в корне проверяемой файловой системы и иметь свободные места для внесения новых элементов. Чтобы удовлетворить всем требованиям, надо перед выполнением fsck создать каталог /lost+found, записать в него несколько файлов, а потом удалить их.

Утилита dfsck позволяет одновременно проверять целостность двух групп файловых систем, расположенных на двух устройствах с независимым доступом. Набор_опций передается утилите fsck для обработки соответствующей группы файловых_систем. Группы разделяются символом -. Перед каждым сообщением dfsck печатает имя файловой системы, к которой сообщение относится. Свои ответы на вопрос утилиты dfsck пользователь должен начинать с 1 или 2, что означает номер группы, к которой относится ответ.

Утилиту dfsck нельзя использовать для проверки целостности корневой файловой системы.

ФАЙЛЫ


 /etc/checklist  Список файловых систем, проверяемых  по

                 умолчанию.

СМ. ТАКЖЕ
checkfsys(1M), mkfs(1M), ncheck(1M), crash(1M).
uadmin(2), checklist(4), fs(4) в Справочнике программиста.

СЮРПРИЗЫ
В каталогах, для элементов . и .., не проверяется корректность номеров описателей файлов.