In vielen Linux Distributionen hat bzw. wird systemd nun Schrittweise Einzug halten. Daher habe ich im folgenden eine Liste der wichtigsten Kommandos zusammengestellt.
Übersicht
Mit folgenden Kommando erhält man z.B. eine Übersicht, aller installierten Dienste.
$ systemctl -t service list-units
Es gibt auch noch weitere Interessante Typen nach denen man filtern kann:
$ systemctl -t help Available unit types: service socket busname target snapshot device mount automount swap timer path slice scope
Lässt man die Option -t
weg, werden alle “Units” angezeigt.
$ systemctl list-units
Status ermitteln
Nehmen wir einmal an wir haben Nginx installiert. Als erstes prüfen wir den aktuellen Status:
$ systemctl status nginx.service ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Do 2015-09-24 08:05:11 CEST; 15h ago Main PID: 536 (nginx) CGroup: /system.slice/nginx.service ├─536 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; error_log stderr; ├─538 nginx: worker process ├─539 nginx: worker process ├─540 nginx: worker process └─541 nginx: worker process
Dadurch erhalten wir schon einmal viele nützliche Informationen. Gehen wir einmal die wichtigsten Zeilen durch:
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Verrät uns das der Service geladen und aktiviert ist und normalerweise nach der Installation deaktiviert. Außerdem wird auch der Pfad von der Unit Datei angezeigt.
Active: active (running) since Do 2015-09-24 08:05:11 CEST; 15h ago
Bedeuted das der Dienst seit 15h im Status “running” ist.
Ein nicht aktiver bzw. gestoppter Dienst sieht so aus:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: inactive (dead) since Do 2015-09-24 23:26:39 CEST; 3s ago Main PID: 536 (code=exited, status=0/SUCCESS)
Dienste Starten/Stoppen
Das Starten und Stoppen von Diensten ist relativ selbst erklärend:
$ systemctl stop nginx
$ systemctl start nginx
Möchte man das ein Dienst direkt beim Booten gestartet wird genügt folgenden Befehl:
$ systemctl enable nginx
Bzw. um einen Dienst zu deaktivieren reicht:
$ systemctl disable nginx
Unit Dateien anpassen
Wenn wir bei unserem Nginx Beispiel bleiben liegt die System Unit Datei normalerweise unter:
/usr/lib/systemd/system/nginx.service
Um diese zu überschreiben sollte zunächst eine Kopie unter /etc/systemd/system/
erstellt werden:
$ cp -a /usr/lib/systemd/system/nginx.service /etc/systemd/system/
Anschließend kann man diese nun entsprechend modifizieren. Danach muss systemd noch die neue Konfiguration einlesen:
$ systemctl daemon-reload