systemd:没有“ [Install]”部分的服务单元,它将在引导时自动运行吗?

时间:2018-09-12 04:01:30

标签: service systemd autostart

对于这样一个简单的问题,我只是找不到简单的文档。

如果我创建服务单元,请将其放置在/etc/systemd/system/a.service中,

[Unit]
Requires=network-online.target
After=network-online.target
[Service]
ExecStart=/bin/bash /etc/a.sh

看到我省略了[Install]部分和常规的systemctl enable ...步骤

[Install]
WantedBy=multi-user.target

然后,当计算机重新启动时,该服务将无法运行。 我知道这很有道理,似乎systemd正在尝试查找所有要运行的/etc/systemd/system/.wants/.service

这是自动启动新服务的唯一方法吗?

我之所以问这个问题,是因为它想静态地简单地分析系统映像中的服务而不运行它,因此需要弄清楚将自动启动哪些服务。

1 个答案:

答案 0 :(得分:1)

[Install]部分仅指示systemd应如何启用该服务。真正启动服务的关键是目标通常通过目标.wants/目录中的符号链接将其拉入。该符号链接可以由systemctl enable使用[Install]部分中的信息来创建,但是也可以手动创建。