systemd service files mit override anpassen

Muss man ein systemd service file anpassen, um beispielsweise dem Service bestimmte Umgebungsvariablen mitzugeben ist es keine gute Idee, diese direkt ins service file zu schreiben, da diese Änderung bei einer Systemaktualisierung überschrieben werden kann.

Und es gibt dafür eine viel elegantere Methode.

systemd sieht für das anpassen der service files sogenannte „override files“ vor, welche im Verzeichnis: /etc/systemd/system/<MYAPP>.service.d/override.conf abgelegt werden.

Erstellen und editieren lassen sich diese mit einem einfachen

systemctl edit <MYAPP>

dort kann man dann die Modifikationen eintragen, z.B.:

[Service]
Environment="HTTP_PROXY=http://192.168.1.10:8080/"

Zu beachten ist, dass die Sektion (Hier: [Service]) immer mit angeben werden muss.

Weiter werden die Einträge eigentlich nicht „überschrieben„, sondern bloss hinzugefügt.

Möchte man also die Zeile:

[Service]
ExecStart=/usr/sbin/myapp

überschreiben muss man das ExecStart zuvor auf LEER setzen, da man die Zeile ExecStart ansonsten zweimal hätte (was beim Start zu einem Fehler führt):

[Service]
ExecStart=
ExecStart=/usr/sbin/myapp -a my-param

Quellen

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.