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