如果我/etc/fstab
在最新的 Amazon Linux 服务器上打开(使用 init,而不是 systemd),我会看到以下内容:
LABEL=/ / ext4 defaults,noatime 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdf /data ext3 defaults 1 1
/dev/sdg /mail ext3 defaults 1 1
/dev/sdh /backup ext3 defaults 1 1
/dev/sdi /data2 ext4 defaults 0 2
我想添加最后一个条目,并且认为这是和属性0 2
的正确设置。但是,我看到其他非根卷有.我相信不再相关了。dump
pass
1 1
dump
这些价值观真的重要吗?
我应该将它们设置为0 2
吗?
答案1
是的,它们很重要,但不像以前那么重要了。
有很多历史文献描述了这些事情。 doco 的适用程度取决于您所使用的操作系统以及您管理系统的方式。
例如:正如M. Dickey所说,如果你仍然运行该dump
命令,那么该列中的信息freq
非常多做重要,因为它告诉我们dump
要做什么。相反,如果您与回答者处于同一条船上https://superuser.com/a/247527/38062,那么该列中的信息dump
可能未被系统中的任何内容使用。
操作系统在该领域的工作方式发生了显着变化,这些列的相关性也发生了变化。
从历史上看,它fsck
在启动时脚本中运行,并带有告诉它/etc/fstab
按通行号顺序读取和处理所有条目的选项。passno
正如您在问题中提到的那样,有大量的 doco 指导您为列中的通过编号选择特定值。
那个 doco 已经过时了。世界已经改变。
系统化操作系统
在 systemd 操作系统上,fsck
不再有这个责任。
systemd 的本机配置格式是单元,其中可以是服务单位或一个安装单元。 systemd 的服务管理仅根据这些进行适当的操作。您的/etc/fstab
数据库被转换成通过名为 的程序安装和服务单元systemd-fstab-generator
。这个程序是一个发电机,一种辅助实用程序,其工作是动态创建单元文件。它生成.mount
挂载卷的单元和针对各个卷.service
运行的单元(在建立到显示进度信息的服务器的客户端-服务器连接后 systemd-fsck
链接到)。实际上是一个fsck
/etc/fstab
源文件它不是本机控制/配置系统。
的操作systemd-fstab-generator
完全忽略了freq
的列/etc/fstab
。它只关心该passno
列是否为零或非零。如果是后者,它会生成导致服务调用运行的引用。如果是前者,则不会。因此,无论您选择 2、1 还是 17035,都没有区别。systemd-fsck@device.service
fsck
开胃菜
nosh 工具集也会转换/etc/fstab
为本机形式,在 nosh 情况下是一套服务包。它执行此操作的程序是convert-fstab-services
.这可以显式运行,或者可以利用自动转换系统在发生变化/etc/system-control/convert/
时更新服务包/etc/fstab
。
同样,该freq
列被忽略。 (不要被它创建的服务包所迷惑。这与 BSD 故障转储有关,与通过命令进行文件系统备份无关。)同样,该列唯一重要的是它大于零,这就是导致创建服务包并将其加入服务包的原因。dump@device
dump
passno
fsck@directory
mount@directory
noauto
和的区别fsck
nosh 和 systemd 做事方式的结果是,不是fsck
在/etc/fstab
系统引导程序中的一个点(或两个点,如BSDrc.d
系统试图区分“后台”和“前台”卷),fsck
通过启动各个“挂载”服务来触发运行。
因此,未在引导程序中安装的文件系统(因为它们被标记为noauto
)因此不会fsck
在引导程序中运行其文件系统。
无论如何引导程序fsck
什么都不做
虽然很重要,因为它控制着(间接)针对各个卷passno
运行的 nosh 服务包或系统服务单元的生成;fsck
有时这fsck
实际上是无操作。某些文件系统格式根本没有可以fsck
在“无人值守整理”模式下运行的工具,而不是这些引导时/安装时调用所需的工具fsck
。
至少对于以下情况是这样的:
对于此类文件系统类型,实际效果passno
为零。将其设置为零,则fsck
不会运行任何服务。将其设置为非零,fsck
运行的服务将调用不执行任何操作的程序。
进一步阅读
- https://unix.stackexchange.com/a/236968/5132
- 乔纳森·德博因·波拉德 (2015)。
/etc/fstab
转换。 小吃指南。 - 乔纳森·德博因·波拉德 (2015)。外部格式。 小吃指南。
fsck -A
检查列出的文件系统noauto
。 Debian 错误#30883。 1998年12月19日。e2fsck
noauto
使用选项安装时返回错误的错误代码。红帽错误#459090。 2008年8月14日。- 豪尔赫·阿尔梅达 (2011-02-26)。
fsck
和noauto
。 Linux 用户。
答案2
这dump
如果您备份系统,则该程序是相关的。无论您备份特定的非根文件系统,还是仅仅依靠fsck
修复它,都是您的选择(假设您正在谈论您的个人计算机)。
进一步阅读: