Fsck
如果機器有不正常的關機並且 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 條件的列表。他們會從上到下檢查,只顯示找到的第一個原因。
您可以放心,不干淨的文件系統將被指示為這樣