Jde*_*eBP 16
我知道所有场景都位于
/etc/rc.d目录中。
你所知道的是错误的。
欢迎使用 CentOS 7。世界已经改变。特别是,您的 Red Hat Enterprise Linux 7 基础发生了变化。您使用的是 systemd Linux 操作系统。许多有关 Linux 的公认智慧对于此类系统来说并不正确。
fsck是没有任何脚本运行在所有的systemd Linux的操作系统。
systemd 的原生格式是unit,它可以是service unit或mount unit。systemd 的服务管理仅根据那些从(系统范围内的).service和.mount文件可以存在的九个目录之一读取的那些来运行。 /etc/systemd/system、/run/systemd/system、/usr/local/lib/systemd/system和/usr/lib/systemd/system是其中四个目录。
您的/etc/fstab数据库由名为systemd-fstab-generator. 该程序在/usr/lib/systemd/system-generators/目录中列出,因此在每次引导时在引导过程的早期由 systemd 自动运行,并且在每次 systemd 被指示稍后重新加载其配置时都会再次运行。
该程序是一个generator,一种辅助实用程序,其工作是在 tmpfs 中动态创建单元文件,其中 9 个目录中的另外三个(仅供生成器使用)所在的目录。 systemd-fstab-generator生成.mount安装卷的单元。这些依次参考.service运行fsck.
这些fsck服务单元本身并不作为文件系统中的文件存在(甚至不在 tmpfs 中),也不是生成器的产品。它们由 systemd 从名为 的模板服务单元文件实例化,使用设备名称作为服务单元实例名称。实例化的发生是因为来自生成单元的和引用。systemd-fsck@.serviceRequires=After=systemd-fsck@device.service.mount
这个实例化的模板是一个服务,它运行一个名为 的程序systemd-fsck,它建立一个客户端-服务器连接来显示进度信息,然后依次运行fsck。 systemd-fsck是编译后的 C 程序,而不是解释性脚本。