===== 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}}
----