我仍然很难理解systemd单元文件中的引导序列依赖关系配置。我看过手册(systemd.unit)。
我试图使用After=和Requires=行将依赖项添加到单元配置文件中。但是,在系统启动期间,它仍然会经常失败,因为systemd在需要的资源(在我的例子中是一个LUKS加密卷)可用之前就启动它太早了。在我的测试中,看起来systemd忽略了这些配置行。在使用以下命令时,也不会列出这些行的内容:
systemctl list-dependencies若要检查配置的依赖项,请执行以下操作。我的设备卷是/dev/dm-6。我如何指定systemd应该在启动我的单元时等待此设备最终出现?
如果我在启动后在终端窗口中使用以下命令手动启动我的单元:
systemctl start name_of_my_unit
效果很好。
发布于 2022-01-25 02:47:37
systemd.device可能是你想要的
一个单元配置文件,其名称以".device“结尾,它编码有关在sysfs/udev(7)设备树中公开的设备单元的信息。这可以用于定义设备和其他单元之间的依赖关系。..。设备单元以它们控制的/sys/和/dev/路径命名。示例:在systemd中,设备/dev/sda5 5公开为dev-sda5 5。
链接
发布于 2022-01-05 00:20:30
RequiresMountsFor=/mnt/volume
路径位于所需的挂载点的位置。
发布于 2022-01-06 21:17:58
也许你应该检查一下ExecStartPre=和ExecCondition=。看来他们能解决你的问题。
https://serverfault.com/questions/1088990
复制相似问题