如何在 Linux 上设置自动文件系统检查和修复如何在 Linux 上设置自动文件系统检查和修复如何在 Linux 上设置自动文件系统检查和修复如何在 Linux 上设置自动文件系统检查和修复
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上设置自动文件系统检查和修复

Linux 管理中最重要的任务之一是检查文件系统的完整性。 Linux 文件系统可能在各种情况下被损坏,例如系统崩溃、断电、磁盘断开连接、意外覆盖 i 节点等。因此,最好定期检查文件系统的完整性,以最大程度地降低文件系统损坏的风险。在检查和修复 Linux 文件系统时,fsck 是一个有用的工具。

在本教程中,我将描述如何使用 fsck 工具设置自动文件系统检查。

启动时触发自动文件系统检查

如果您想在启动时自动触发 fsck,可以使用发行版特定的方法在启动时设置无人值守的 fschk。

在 Debian、Ubuntu 或 Linux Mint 上,按如下方式编辑 /etc/default/rcS。


$ sudo vi /etc/default/rcS

# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes

在 CentOS 上,使用以下内容编辑 /etc/sysconfig/autofsck (如果不存在则创建它)。


$ sudo vi /etc/sysconfig/autofsck

AUTOFSCK_DEF_CHECK=yes

强制定期文件系统检查

如果文件系统很大,您可以强制定期检查文件系统,而不是每次启动时检查。为此,首先使用 tune2fs 命令找出文件系统配置。以下命令行显示文件系统相关参数的当前值。在此示例中,/dev/sda1 是文件系统超级块所在的分区。


$ sudo tune2fs -l /dev/sda1

从tune2fs输出中,您不仅可以看到文件系统状态(干净与否),还可以看到与文件系统检查相关的参数。 最大挂载计数参数是触发文件系统检查之前的挂载次数。 检查间隔参数显示两次文件系统检查之间的最长时间。在大多数 Linux 发行版上,默认情况下不会设置这些参数,这意味着不会进行常规文件系统检查。

要强制每 30 次挂载 进行文件系统检查(即,在文件系统挂载 30 次后触发文件系统检查),请运行以下命令。


$ sudo tune2fs -c 30 /dev/sda1

要强制每3个月检查一次文件系统,请使用以下命令。


$ sudo tune2fs -i 3m /dev/sda1

现在验证新添加的文件系统检查条件是否设置正确。


$ sudo tune2fs -l /dev/sda1

. . .
Last mount time:          n/a
Last write time:          Fri Mar 14 22:29:24 2014
Mount count:              20
Maximum mount count:      30
Last checked:             Mon Mar  3 20:55:08 2014
Check interval:           7776000 (3 months)
Next check after:         Sun Jun  1 21:55:08 2014

在下次重新启动时强制执行一次性文件系统检查

如果您想在下次重新启动时触发一次性文件系统检查,可以使用此命令。


$ sudo touch /forcefsck

一旦您像上面一样在顶级目录 (/) 中创建了一个名为 forcefsck 的空文件,它将在您下次启动时强制检查文件系统。成功启动后,/forcefsck将自动被删除。

©2015-2025 艾丽卡 support@alaica.com