为什么 systemd 没有按预期解析我的覆盖配置?

为什么 systemd 没有按预期解析我的覆盖配置?

以下现象可以在 Arch Linux 和 Ubuntu Artful 上重现,因此我得出结论,我没有systemd再次获得详细信息。

systemd我只是想添加一个在 Docker 守护进程作为服务启动后执行的命令。

我调用一个编辑器systemctl edit docker.service,并输入以下内容作为评估手段:

[Service]
ExecStartPost=true

现在有一个/etc/systemd/system/docker.service.d/override.conf包含该内容的文件,我也会调用它systemctl daemon-reload来确定一下。

现在我使用 显示已解析的单元,输出中systemctl show docker.service没有出现任何指令,尽管我期望如此。A没有产生任何结果。ExecStartPostsystemd-analyze verify

那么,为什么ExecStartPost不将覆盖文件中的视为单元的一部分systemd

为了测试带有覆盖指令的文件是否真正被评估,我尝试了以下内容:

[Service]
ExecStart=
ExecStart=foo

令我困惑的是,该ExecStart指令现在在 的输出中丢失了systemctl show docker.service

有人能向我解释一下为什么在这种情况下似乎考虑了第一条指令而没有考虑第二条指令吗?

答案1

我的错误显然是我没有指定命令的绝对路径,例如:

[Service]
ExecStartPost=/bin/true

相关内容