systemctl steuert Dienste (Services) und Systemzustände unter systemd — dem Standard-Init-System moderner Linux-Distributionen. journalctl liest die zentrale Log-Sammlung (Journal). Zusammen verwalten sie, was beim Boot startet, was gerade läuft und was schiefgelaufen ist.
systemctl: Dienste steuern
systemctl status nginx # Status: läuft, aktiviert, letzte Log-Zeilen
systemctl start nginx # Dienst starten
systemctl stop nginx # Dienst stoppen
systemctl restart nginx # neu starten (nach Konfig-Änderungen)
systemctl reload nginx # Konfiguration neu laden ohne Neustart
systemctl enable nginx # automatischer Start beim Booten
systemctl disable nginx # Autostart entfernen
systemctl --failed # alle fehlgeschlagenen Dienste anzeigen
systemctl list-units --type=service --state=running # laufende Dienste
systemctl daemon-reload # Unit-Dateien nach Änderungen neu einlesen
journalctl: Logs lesen
journalctl -u nginx # Logs eines Dienstes
journalctl -u nginx -f # -f: live mitverfolgen (wie tail -f)
journalctl --since "1 hour ago" # seit einem Zeitpunkt
journalctl --since today # seit heute
journalctl -p err # nur Fehler (err) und Schlimmeres
journalctl -n 50 # die letzten 50 Zeilen
journalctl -b # seit dem letzten Boot
journalctl -k # Kernel-Meldungen
Typische Fehlersuche
systemctl status apache2 # zeigt den Fehler direkt an
journalctl -u apache2 -p err --since today # Fehler des Tages
systemctl restart apache2 # nach Config-Änderung
systemctl --failed # welche Dienste nicht starten
Praxis-Tipps
- Nach Änderungen an
/etc/systemd/system/immersystemctl daemon-reloadausführen, sonst ignoriert systemd die neue Datei. systemctl enable --now nginxstartet den Dienst UND aktiviert den Autostart in einem Schritt.- Wer
journalctl-Ausgaben weiterverarbeiten will, nutzt die Pipe:journalctl -u nginx | grep Fehler. - Das Journal speichert auch Kernel-Meldungen —
journalctl -k -p errzeigt Hardware-Probleme.
Verwandte Grundlagen: Bash-Befehle, ps, top und kill und grep-Befehle.