FSCK(1M)
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 позволяет создать список свободных блоков, оптимальный с точки зрения времени доступа. Если аргументы опции не указаны, используются значения, заданные при создании файловой системы [см. ]. Если и при создании файловой системы они не были заданы, используется пара 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), , , .
, , в Справочнике программиста.
СЮРПРИЗЫ
В каталогах, для элементов . и .., не проверяется корректность номеров описателей файлов.