Benutzer-Werkzeuge

Webseiten-Werkzeuge


sammlung:systemctl

systemctl

Kurzfassung: systemctl ist das zentrale Verwaltungstool für systemd und verwaltet Systemdienste (Units), deren Start/Stop, Autostart und Status. Zielgruppe: Systemadministratoren und Benutzer zur Verwaltung von Systemdiensten.

Übersicht

systemctl ist der Hauptbefehl des systemd-Init-Systems zur Verwaltung von Systemdiensten, Sockets, Geräten und anderen „Units“. Damit lassen sich Services starten, stoppen, neu starten, aktivieren und ihr Status abfragen. systemctl ersetzt die alten init-Skripte und bietet eine einheitliche Schnittstelle.

Voraussetzungen

  • systemd als Init-System installiert und aktiv
  • Root-Privilegien oder Sudo für bestimmte Operationen
  • Kenntnis der verfügbaren Unit-Namen (Services, Targets, etc.)

Anleitung

Services starten und stoppen

# Service starten
sudo systemctl start nginx
 
# Service stoppen
sudo systemctl stop nginx
 
# Service neustarten
sudo systemctl restart nginx
 
# Service nur neu laden (ohne Interrupt)
sudo systemctl reload apache2

Service-Status abfragen

# Status eines spezifischen Services
systemctl status sshd
 
# Alle Services auflisten
systemctl list-units --type=service
 
# Nur aktive Services anzeigen
systemctl list-units --type=service --state=running
 
# Fehlerhafte Services finden
systemctl list-units --type=service --state=failed

Autostart aktivieren und deaktivieren

# Service beim Booten automatisch starten
sudo systemctl enable nginx
 
# Service nicht mehr beim Booten starten
sudo systemctl disable nginx
 
# Autostart-Status abfragen
systemctl is-enabled nginx

Services aktivieren und deaktivieren

# Service aktivieren (für aktuelle Session)
sudo systemctl start nginx
 
# Service deaktivieren (für aktuelle Session)
sudo systemctl stop nginx
 
# Service maskieren (verhindert manuellen und automatischen Start)
sudo systemctl mask nginx
 
# Service unmaskieren
sudo systemctl unmask nginx

Dependency-Informationen und Auslöser

# Unit-Abhängigkeiten anzeigen
systemctl list-dependencies nginx
 
# Unit-Abhängigkeiten für Targets
systemctl list-dependencies multi-user.target

Systemstart und Runlevel

# Systemrunlevel anzeigen
systemctl get-default
 
# Standardrunlevel ändern
sudo systemctl set-default multi-user.target
 
# In Runlevel wechseln
sudo systemctl isolate graphical.target
 
# Verfügbare Targets anzeigen
systemctl list-units --type=target

Logs und Diagnostik

# Logs einer Unit anzeigen
journalctl -u nginx
 
# Logs in Echtzeit verfolgen
journalctl -u nginx -f
 
# Letzte 50 Zeilen
journalctl -u nginx -n 50
 
# Logs seit letztem Boot
journalctl -u nginx -b

Systemd-Unit-Dateieinstellung

# Unit-Datei bearbeiten
sudo systemctl edit nginx
 
# Neue Unit-Datei mit Editor
sudo systemctl edit --full nginx
 
# Unit-Datei-Änderungen neu laden
sudo systemctl daemon-reload

Hinweise

Best Practices: - Immer sudo systemctl daemon-reload ausführen, nachdem Unit-Dateien geändert wurden - Mit systemctl is-active <unit> schnell den Status checken - systemctl show <unit> zeigt detaillierte Informationen - Logs mit journalctl kombinieren für vollständige Diagnostik
Häufige Fehler vermeiden: - sudo systemctl mask verhindert auch Starts durch Abhängigkeiten (sparsam nutzen) - Nach Konfigurationsänderungen reload verwenden, wenn möglich (weniger Unterbrechung als restart) - Unit-Namen sind case-sensitive

Siehe auch

Quellen

sammlung/systemctl.txt · Zuletzt geändert: von 127.0.0.1