强制 systemd 在执行任何操作之前安装一些分区

强制 systemd 在执行任何操作之前安装一些分区

当我有一些单元符号链接指向某些未安装的文件系统中的某些位置时,我遇到了 systemd 的问题:

那里有一篇关于它的帖子:已安装磁盘上的 Systemd 链接单元文件无法加载

问题在于 /etc/systemd 中的文件是符号链接,因此当 systemd 启动时,它会在安装任何文件系统之前尝试读取和解析它们;由于文件系统未安装,符号链接未引用有效文件,因此未加载服务。我很想知道这个问题的答案,因为我有一些单元想要从 NFS 服务器加载并遇到同样的问题;到目前为止,我必须将该单元复制到根分区并启用它:-(

我可以通过将所有单位符号链接目标复制到 /etc/systemd 来解决它,但我更喜欢另一个解决方案。我尝试过一个目标单元,该单元将根据某些文件系统安装来启动所有单元

[Unit]                                                                                                                                                                                                                                    
Description=Unit that starts all units depending on /home mount                                                                                                                                                                           
After=home.mount                                                                                                                                                                                                                          
Requires=home.mount                                                                                                                                                                                                                       
Before=some_other_unit.service  

但它不起作用(当我在重启后手动启动这个目标时,som_other_unit 没有加载。有什么建议吗?

相关内容