Why isn't systemd parsing my override config as expected?

2

The following phenomena are reproducible on an Arch Linux as well as on Ubuntu Artful and I therefore conclude that I'm not getting a detail on systemd, again.

I simply want to add a command to be executed after a Docker daemon was started as systemd service.

I invoke an editor with systemctl edit docker.service and for the means of evaluation I enter this:

[Service]
ExecStartPost=true

There is a /etc/systemd/system/docker.service.d/override.conf file now with that content and I also invoke systemctl daemon-reload to be sure.

Now I display the parsed unit with systemctl show docker.service and no ExecStartPost directive appears in the output, though I would expect it. A systemd-analyze verify yields nothing.

So, why is the ExecStartPost from the override file not considered as a part of the unit by systemd?

To test whether the file with the overriding directives is actually evaluated, I tried this content:

[Service]
ExecStart=
ExecStart=foo

To my confusion, the ExecStart directive is now missing in the output of systemctl show docker.service.

Can someone explain to me why the first directive seems to be considered while the second isn't in this case?

funky-future

Posted 2018-03-03T16:10:10.167

Reputation: 552

Answers

2

My mistake was apparently that I didn't specify an absolute path to the command such as:

[Service]
ExecStartPost=/bin/true

funky-future

Posted 2018-03-03T16:10:10.167

Reputation: 552