Fsck

如果機器有不正常的關機並且 fsck 的時間已經過期,將列印哪條消息?

  • January 23, 2013

作業系統為 CentOS 5。

通常在非正常關機後,CentOS 啟動文本會顯示一些關於由於非正常關機而需要 fsck 的資訊。(我不記得我頭頂上的確切文字)

此外,如果您在一定天數內沒有進行 fsck,則會顯示“強制檢查”消息,並且機器將 fsck。

但是如果兩個項目都是真的呢?機器有不干淨的關機,並且已經 1000 天沒有 fsck,在啟動期間列印了哪條消息?

為什麼我需要知道?我需要知道跳過 fsck 是否安全。這種情況並不經常發生,但確實會出現。他們當然應該使用xfs,當然東西應該是多餘的,但這是現實生活。有時您會遇到 fsck 需要 10 個小時而其中每一分鐘都是停機時間的情況。(我個人會說永遠不要跳過 fsck 但這不是我的要求)

根據e2fsck/unix.ce2fsprogs 來源(修剪到重要位)

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 條件的列表。他們會從上到下檢查,只顯示找到的第一個原因。

您可以放心,不干淨的文件系統將被指示為這樣

引用自:https://serverfault.com/questions/471496