非根分区的 fstab 传递值

非根分区的 fstab 传递值

如果我/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的正确设置。但是,我看到其他非根卷有.我相信不再相关了。dumppass1 1dump

这些价值观真的重要吗?

我应该将它们设置为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.servicefsck

开胃菜

nosh 工具集也会转换/etc/fstab为本机形式,在 nosh 情况下是一套服务包。它执行此操作的程序是convert-fstab-services.这可以显式运行,或者可以利用自动转换系统在发生变化/etc/system-control/convert/时更新服务包/etc/fstab

同样,该freq列被忽略。 (不要被它创建的服务包所迷惑。这与 BSD 故障转储有关,与通过命令进行文件系统备份无关。)同样,该列唯一重要的是它大于零,这就是导致创建服务包并将其加入服务包的原因。dump@devicedumppassnofsck@directorymount@directory

noauto和的区别fsck

nosh 和 systemd 做事方式的结果是,不是fsck/etc/fstab系统引导程序中的一个点(或两个点,如BSDrc.d系统试图区分“后台”和“前台”卷),fsck通过启动各个“挂载”服务来触发运行。

因此,未在引导程序中安装的文件系统(因为它们被标记为noauto)因此不会fsck在引导程序中运行其文件系统。

无论如何引导程序fsck什么都不做

虽然很重要,因为它控制着(间接)针对各个卷passno运行的 nosh 服务包或系统服务单元的生成;fsck有时这fsck实际上是无操作。某些文件系统格式根本没有可以fsck在“无人值守整理”模式下运行的工具,而不是这些引导时/安装时调用所需的工具fsck

至少对于以下情况是这样的:

对于此类文件系统类型,实际效果passno为零。将其设置为零,则fsck不会运行任何服务。将其设置为非零,fsck运行的服务将调用不执行任何操作的程序。

进一步阅读

答案2

dump如果您备份系统,则该程序是相关的。无论您备份特定的非根文件系统,还是仅仅依靠fsck修复它,都是您的选择(假设您正在谈论您的个人计算机)。

进一步阅读:

相关内容