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