当 Linux 启动时,它是首先读取fstab
并挂载其中的所有内容,还是在此之前启动systemd
?
我希望这fstab
是第一位的,但我不知道如何确认。因此,即使您知道答案,也请告诉我您自己是在哪里学到的,以便我在来这个论坛之前可以更好地了解自己。特别是,我想挂载tmpfs
,/var/log
并且正如我可以推断的那样,所有这些日志都是在systemd
启动某些服务后访问和写入的。我想确保在任何程序尝试访问它之前它已安装。
我知道这可以被理解为这个问题的重复,但我在那里重新调整了它的用途,因此,在没有更好的想法的情况下,我只是再次询问。这次有明确的表态。
Systemd是从中装载一切的东西。Linux 本身并不知道 fstab 是什么;它让 init 系统处理整个系统的启动。
通常,init 系统将首先启动基本服务,然后是 fstab,最后是系统的其余部分。然而,Systemd 并行完成大多数事情 - 它有几个主要阶段,但主要依赖于指定对其实际需要的显式依赖项的服务。
例如,服务和安装实际上可以并行启动。但是,如果某个服务定义它需要 /var/log,则保证仅在挂载 /var/log 后才启动它。
如果您想确定,请告诉 systemd 进行确定。这是一个基于依赖关系的系统,您可以从字面上告诉它服务 A依赖于挂载 B。因此,如果您的某个服务需要此位置,请相应地将
Requires=
和添加After=
到其服务单元 - 无论是针对特定挂载还是针对“目标”对所有本地 fstab 条目进行分组。(不过,我假设您的意思
/var/log
不是/sys/log
?sysfs 中没有 /sys/log。如果您的 /sys 不是 sysfs,那么您不应该问这个问题...)