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.
Выявляются следующие нарушения целостности файловой
системы:
- На блок имеется более одной ссылки из описателей
файлов и/или списка свободных блоков.
- Блок, на который ссылается описатель файла или
список свободных блоков, находится за пределами
файловой системы.
- Некорректные счетчики числа ссылок.
- Проверка размеров:
некорректное число блоков;
размер каталога не кратен 16.
- Некорректный формат описателя файла
- Наличие неучтенных блоков.
- Проверка каталогов:
элемент каталога указывает на свободный описатель файла;
недопустимый номер описателя файла.
- Проверка суперблока:
более 65536 описателей файлов;
под описатели файлов выделено больше блоков,
чем есть в файловой системе.
- Некорректный формат списка свободных блоков.
- Некорректные значения счетчиков свободных блоков и/или свободных описателей файлов.
Непустые файлы, на которые нет ссылок, с согласия пользователя (а каталоги - обязательно) перемещаются в каталог 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) в Справочнике программиста.
СЮРПРИЗЫ
В каталогах, для элементов . и .., не проверяется корректность номеров описателей файлов.