我想了解是否有办法在systemd服务之间创build一个软依赖关系。 基本上,我想创build一个“伞”服务,启动标记为(软)依赖关系的其他服务,但是当且仅当它们被启用时 – 伞不应该启动被禁用的相关服务。
更具体地说,我收到了cfengine-systemd的拉取请求 ,旨在创build这样一个伞形单位。 不幸的是,build议的cfengine3.service单元不遵守从属单元的启用/禁用状态,并在任何情况下启动它们。
我曾经试图用一个目标单位来做同样的事情,但是失败了 。
任何线索?
提前致谢
更新下面迈克尔的问题:我会说,如果cfengine3.service被禁用,systemd不应该尝试启动依赖服务。
启用/禁用状态控制服务是否在启动时启动/未启动。 在这种情况下,我build议依赖型服务应该保持残疾,只有伞型服务的状态应该改变。 为了使伞服务只启动一些依赖关系,它们应该被软链接到伞服务的.requires目录(例如,到/etc/systemd/system/umbrella-unit.service/requires目录中)。