為什麼 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沒有出現指令,儘管我希望如此。 ExecStartPostAsystemd-analyze verify沒有產生任何結果。

那麼,為什麼ExecStartPost覆蓋檔案中的 不被視為單元的一部分systemd

為了測試是否實際評估了具有覆蓋指令的文件,我嘗試了以下內容:

[Service]
ExecStart=
ExecStart=foo

令我困惑的是,該ExecStart指令現在在 的輸出中丟失了systemctl show docker.service

有人可以向我解釋為什麼在這種情況下似乎會考慮第一個指令而不會考慮第二個指令嗎?

答案1

我的錯誤顯然是我沒有指定命令的絕對路徑,例如:

[Service]
ExecStartPost=/bin/true

相關內容