Назад | Перейти на главную страницу

Какое сообщение будет напечатано, если на машине произошло нечистое завершение работы И истекло время для fsck?

ОС - CentOS 5.

Обычно после нечистого завершения работы в тексте запуска CentOS отображается сообщение о том, что из-за нечистого завершения работы требуется fsck. (Я не могу вспомнить точный текст с головы)

Кроме того, если вы проедете определенное количество дней без fsck, отобразится сообщение «проверка принудительно», и машина выполнит fsck.

Но что, если ОБЕИХ пункты верны? Произошло нечистое завершение работы машины, И она прошла 1000 дней без команды fsck, какое сообщение выводится при запуске?

Зачем мне это нужно знать? Мне нужно знать, безопасно ли пропустить fsck. Такая ситуация возникает не часто, но возникает. Конечно, им следовало использовать xfs, конечно, должно быть избыточно, но это реальная жизнь. Иногда вы сталкиваетесь со сценарием, когда fsck занимает 10 часов, и каждая минута этого времени является простоем. (Лично я бы сказал, что никогда не пропускайте fsck, но это не мой призыв)

В соответствии с e2fsck/unix.c в исходниках e2fsprogs (обрезаны до важных бит)

if ((fs->super->s_state & EXT2_ERROR_FS) || !ext2fs_test_valid(fs))
    reason = _(" contains a file system with errors");
else if ((fs->super->s_state & EXT2_VALID_FS) == 0)
    reason = _(" was not cleanly unmounted");
else if (check_backup_super_block(ctx))
    reason = _(" primary superblock features different from backup");
else if ((fs->super->s_max_mnt_count > 0) ...
    reason = _(" has been mounted %u times without being checked");
else if (!broken_system_clock && fs->super->s_checkinterval ...
    reason = _(" has filesystem last checked time in the future");
else if (!broken_system_clock && fs->super->s_checkinterval ...
    reason = _(" has gone %u days without being checked");

Как видите, это список условий if / else if. Они будут проверять сверху вниз и отображать только первую найденную причину.

Вы можете быть уверены, что нечистая файловая система будет обозначена как таковая.

Если вы действительно застряли, я бы порекомендовал загрузиться в режим восстановления с CD / DVD, запустить "tune2fs -i 0 -c 0" в файловой системе и перезагрузиться. Таким образом, если файловая система чистая, она просто смонтируется. Если он грязный, он пройдет через fsck.