以下现象可以在 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没有产生任何结果。ExecStartPost
systemd-analyze verify
那么,为什么ExecStartPost
不将覆盖文件中的视为单元的一部分systemd
?
为了测试带有覆盖指令的文件是否真正被评估,我尝试了以下内容:
[Service]
ExecStart=
ExecStart=foo
令我困惑的是,该ExecStart
指令现在在 的输出中丢失了systemctl show docker.service
。
有人能向我解释一下为什么在这种情况下似乎考虑了第一条指令而没有考虑第二条指令吗?
答案1
我的错误显然是我没有指定命令的绝对路径,例如:
[Service]
ExecStartPost=/bin/true