Введение в Unix



         

Проверка и восстановление стуктуры файловой системы - часть 2


/etc/fsck ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Free List

Из примера видно, что fsck выполняется в несколько фаз.

На этих фазах производится следующая работа:

  • проверка целостности i-узлов (счетчик связи, тип и формат i-узла);
  • проверка каталогов, указывающих на i-узлы, содержащие ошибки;
  • проверка каталогов, на которые нет ссылок;
  • проверка счетчиков связей в каталога и файлах;
  • проверка неверных блоков и дублированных блоков в списке свободных блоков, неиспользуемых блоков, которые должны быть включены, но не включены в список свободных блоков, и счетчика общего числа свободных блоков.

Команда по умолчанию всегда проверяет корневую файловую систему: все другие файловые системы проверяются, если их имена занесены в файл /etc/checklist.

Следующий пример показывает действия команды fsck и администратора в случае обнаружения дубля i-узла для файла /user/src/sys/ux; администратор принимает решение удалить этот плохой файл, отвечая в диалоге согласием y (yes) на вопросы команды.

/etc/fsck ** Phase 1 - Check blocks and sizes 528627 BAD I = 66 ** Phase 2 - Check pathnames DUP/BAD I = 66 OWNER = root MODE = 100755 SIZE = 78409 MTIME = Jul 16 18:45 1987 FILE = /usr/src/sys/ux REMOVE ? y ** Phase 3 - Check connectivity ** Phase 4 - Check Reference Count BAD/DUP I = 66 OWNER = root MODE = 100755 SIZE = 78409 MTIME = Jul 16 18:45 1987 FILE = /usr/src/sys/ux CLEAR ? y UNREF FILE I = 36 OWNER = root MODE = 100600 SIZE = 0 MTIME = Jul 17 09:40 1987 RECONNECT ? y ** Phase 5 - Check Frec List 157 BLK(S) MISSING BAD FREE LIST SALVAGE ? y ** Phase 6 - Salvage Free List 302 files 5833 blocks 371 free




Содержание  Назад  Вперед