- 1 Section
- 10 Lessons
- unbegrenzt
- Linux – Grundlagen & Serveradministration10
- 1.1Linux-Distributionen und Einsatzgebiete
- 1.2Dateisystem-Hierarchie (FHS)
- 1.3Grundlegende Kommandos
- 1.4Benutzerverwaltung
- 1.5Paketverwaltung: apt, yum/dnf
- 1.6Dienste verwalten mit systemd
- 1.7Netzwerkkonfiguration unter Linux
- 1.8Berechtigungen: rwx, SUID, SGID, Sticky Bit
- 1.9Logs auswerten: journald, syslog, logrotate
- 1.10Aufgaben Linux
Dienste verwalten mit systemd
Früher wurden Linux-Dienste über Init-Skripte in /etc/init.d/ verwaltet – jedes Dienst-Skript war ein Shell-Skript das start/stop/restart verstand. Seit ca. 2012 hat systemd diesen Ansatz abgelöst und ist auf praktisch allen modernen Distributionen der Standard-Init-Prozess (PID 1). systemd startet Dienste parallel (schnellerer Boot), überwacht sie und startet sie bei Absturz automatisch neu.
Das wichtigste Tool für die systemd-Verwaltung ist systemctl. Damit startest, stoppst, aktivierst und analysierst du Dienste. Die zweite wichtige Komponente ist journalctl für die zentralisierte Log-Verwaltung – dazu mehr in Lektion 9.
1) systemctl – die wichtigsten Befehle
# Dienst starten/stoppen/neu starten $ sudo systemctl start nginx $ sudo systemctl stop nginx $ sudo systemctl restart nginx
# Reload: Konfiguration neu laden ohne Prozess-Neustart $ sudo systemctl reload nginx
# Autostart aktivieren/deaktivieren $ sudo systemctl enable nginx Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service $ sudo systemctl disable nginx
# Alle laufenden Dienste anzeigen $ systemctl list-units --type=service --state=active
# Fehlgeschlagene Dienste anzeigen $ systemctl list-units --type=service --state=failed
start startet den Dienst sofort – einmalig. enable aktiviert den Autostart beim Booten – aber startet nicht sofort. Fast immer beide kombinieren: sudo systemctl enable --now nginx (aktiviert Autostart UND startet sofort).2) Unit Files – wie Dienste definiert werden
Jeder systemd-Dienst wird durch eine Unit-Datei (.service) definiert. Diese liegen in /lib/systemd/system/ (von Paketen installiert) oder /etc/systemd/system/ (eigene/überschriebene). Unit-Dateien haben drei Sektionen: [Unit] (Metadaten), [Service] (Wie wird der Dienst gestartet?) und [Install] (Autostart-Verhalten). Klicke eine Sektion:
sudo systemctl daemon-reload ausführen damit systemd die Änderungen einliest. Niemals Dateien in /lib/systemd/system/ direkt bearbeiten – sie werden bei Paket-Updates überschrieben. Stattdessen: Override mit systemctl edit nginx erstellt eine Drop-In-Datei.Zusammenfassung
systemd ist PID 1 – startet alle Dienste beim Booten. systemctl start/stop/restart/reload = sofortige Aktionen. enable/disable = Autostart beim Booten. status = Zustand und letzte Logs. enable --now = beides auf einmal. Unit-Dateien in /lib/systemd/system/ (System) oder /etc/systemd/system/ (eigen). Nach Änderungen: systemctl daemon-reload. Logs: journalctl -u nginx (Lektion 9).
