Warum analysiert systemd meine Override-Konfiguration nicht wie erwartet?

Warum analysiert systemd meine Override-Konfiguration nicht wie erwartet?

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 systemdDienst gestartet wurde.

Ich rufe dazu einen Editor auf systemctl edit docker.serviceund gebe zur Auswertung folgendes ein:

[Service]
ExecStartPost=true

Es gibt /etc/systemd/system/docker.service.d/override.confjetzt eine Datei mit diesem Inhalt und ich rufe sie auch auf, systemctl daemon-reloadum sicherzugehen.

Nun zeige ich die analysierte Einheit mit an systemctl show docker.serviceund ExecStartPostes erscheint keine Direktive in der Ausgabe, obwohl ich sie erwarten würde. A systemd-analyze verifyergibt nichts.

Warum wird das ExecStartPostaus 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 ExecStartfehlt 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

verwandte Informationen