Die folgenden Phänomene sind sowohl auf Arch Linux als auch auf Ubuntu Artful reproduzierbar und ich komme daher zu dem Schluss, dass ich hierzu wieder keine Einzelheiten erhalte systemd
.
Ich möchte einfach einen Befehl hinzufügen, der ausgeführt werden soll, nachdem ein Docker-Daemon als systemd
Dienst gestartet wurde.
Ich rufe dazu einen Editor auf systemctl edit docker.service
und gebe zur Auswertung folgendes ein:
[Service]
ExecStartPost=true
Es gibt /etc/systemd/system/docker.service.d/override.conf
jetzt eine Datei mit diesem Inhalt und ich rufe sie auch auf, systemctl daemon-reload
um sicherzugehen.
Nun zeige ich die analysierte Einheit mit an systemctl show docker.service
und ExecStartPost
es erscheint keine Direktive in der Ausgabe, obwohl ich sie erwarten würde. A systemd-analyze verify
ergibt nichts.
Warum wird das ExecStartPost
aus der Override-Datei nicht als Teil der Einheit betrachtet systemd
?
Um zu testen, ob die Datei mit den Overriding-Direktiven tatsächlich ausgewertet wird, habe ich diesen Inhalt ausprobiert:
[Service]
ExecStart=
ExecStart=foo
Zu meiner Verwirrung ExecStart
fehlt die Direktive jetzt in der Ausgabe von systemctl show docker.service
.
Kann mir jemand erklären, warum in diesem Fall anscheinend die erste Direktive berücksichtigt wird, die zweite aber nicht?
Antwort1
Mein Fehler bestand offenbar darin, dass ich keinen absoluten Pfad zum Befehl angegeben hatte, etwa:
[Service]
ExecStartPost=/bin/true