Ale*_*lke 3 service dependencies systemd
我有两个不同的软件包安装了两个服务A和B。
服务B取决于服务A。
两者均默认禁用和停止。
为了使服务B在每次引导时运行,请启用它,然后启动它:
systemctl enable B
systemctl start B
Run Code Online (Sandbox Code Playgroud)
由于B取决于A,所以我希望A可以启动,并且确实可以启动!尚未启用A。这是预期的行为吗?某种程度上,这看起来对我来说很奇怪。
是的,这是预期的行为。
在systemctl enable和systemctl disable操作配置自动启动一个单位的。
更准确地说,这些操作仅执行[Install]单位文件部分中描述的内容(或这些操作的逆过程)。在大多数情况下,这包括向来自multi-user.target或类似系统范围目标的单位添加人为依赖,仅此而已。
因此,手动或通过其他依赖项启动设备完全不受此影响。如果确实要阻止手动或通过依赖项启动单元文件,请运行systemctl mask UNIT。