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