===== Systemd - Init-System und Service Manager ===== **Kurzfassung:** Systemd ist das Standard-Init-System und Service-Manager auf vielen modernen Linux-Distributionen. Es verwaltet den Systemstart, Dienste (Services), Mounts, Sockets, Timer und vieles mehr. Systemd ersetzt traditionelle Init-Systeme wie SysVinit und bietet parallelen Start, On-Demand-Aktivierung und einheitliches Logging. ==== Übersicht ==== Systemd ist ein modernes Init-System, das als PID 1 den Systemstart orchestriert und während der gesamten Laufzeit Dienste verwaltet. Es bietet Parallelisierung, Abhängigkeitsmanagement, Socket-Aktivierung und zentralisiertes Logging. ==== Voraussetzungen ==== * Linux-System mit Systemd (Standard seit ca. 2015) * Root-Rechte (sudo) für die meisten Operationen * Grundverständnis von Linux-Diensten ==== Wichtige Begriffe ==== * **Unit**: Abstraktion für Dienste, Sockets, Mounts, Timer etc. * **Service**: Dienst, z.B. sshd.service * **Target**: Gruppierung von Units (z.B. multi-user.target) * **Journal**: Zentrales Log-System ==== Anleitung ==== === Schritt 1: Dienste verwalten === # Status eines Dienstes anzeigen systemctl status .service # Dienst starten/stoppen/neustarten systemctl start .service systemctl stop .service systemctl restart .service # Dienst aktivieren/deaktivieren (Autostart) systemctl enable .service systemctl disable .service # Liste aller Units systemctl list-units # Logs anzeigen journalctl -u .service journalctl -b # Logs des aktuellen Bootvorgangs === Schritt 2: Logs anzeigen === # Logs eines Dienstes journalctl -u .service # Logs des aktuellen Bootvorgangs journalctl -b # Letzte 100 Zeilen journalctl -n 100 # Live-Logs folgen journalctl -f ==== Konfigurationsdateien ==== * /etc/systemd/system/ (benutzerdefinierte Units) * /lib/systemd/system/ (Distribution-Units) * /etc/systemd/journald.conf (Logging-Konfiguration) ==== Hinweise ==== * ''systemctl'' ohne ''.service'' Suffix funktioniert auch für Services * Unit-Dateien in ''/etc/systemd/system/'' überschreiben ''/lib/systemd/system/'' * Nach Änderungen an Unit-Dateien: ''sudo systemctl daemon-reload'' * Service-Logs werden zentral im Journal gespeichert * Targets ersetzen traditionelle Runlevels ==== Siehe auch ==== * [[sammlung:systemd_timer|Systemd Timer]] * [[sammlung:journalctl|journalctl & Logging]] * [[sammlung:targets|Systemd Targets]] * [[sammlung:service_erstellen|Eigene Services erstellen]] * [[sammlung:systemd-analyze|systemd-analyze - Performance]] ==== Quellen ==== * [[https://www.freedesktop.org/wiki/Software/systemd/|systemd Dokumentation]] * [[https://wiki.archlinux.org/title/Systemd|ArchWiki: Systemd]] * [[https://man7.org/linux/man-pages/man1/systemctl.1.html|systemctl Man Page]] ---- {{tag>cli topic systemd management basics advanced}} ----