Nachdem du die Grundlagen von systemd kennengelernt hast, wird es jetzt praktisch.
Das wichtigste Werkzeug im Alltag mit systemd ist der Befehl systemctl.
Mit ihm kannst du Dienste starten, stoppen, neu laden oder dauerhaft aktivieren.

🔹 Was ist systemctl?

  • systemctl ist das Kontrollwerkzeug für systemd.
  • Es dient dazu, Units (z. B. Services, Timer, Targets) zu verwalten.
  • Der Befehl ist auf allen modernen Linux-Systemen verfügbar.

👉 Wenn du mit Linux-Diensten arbeitest (z. B. Webserver, Datenbanken, Cron), nutzt du fast immer systemctl.

🔹 Status eines Dienstes prüfen

Beispiel: den SSH-Dienst überprüfen.

systemctl status ssh

Typische Ausgabe:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
     Active: active (running) since ...

Bedeutung:

  • Loaded → systemd kennt die Unit.
  • Enabled → sie ist für den Start beim Booten aktiviert.
  • Active → Dienst läuft aktuell.

🔹 Dienste starten und stoppen

  • starten:

    sudo systemctl start ssh
  • stoppen:

    sudo systemctl stop ssh
  • Neustarten:

    sudo systemctl restart ssh

👉 So kannst du Dienste manuell steuern, wann immer es nötig ist.

🔹 Dienste beim Boot aktivieren oder deaktivieren

  • Aktivieren:

    sudo systemctl enable ssh
  • Deaktivieren:

    sudo systemctl disable ssh

👉 So entscheidest du, welche Dienste dauerhaft laufen sollen.

🔹 Dienste neu laden

Manche Dienste unterstützen ein Reload, ohne komplett neugestartet zu werden – nützlich bei Konfigurationsänderungen.

Beispiel (Apache):

sudo systemctl reload apache2

👉 Der Dienst liest die Konfiguration neu ein, ohne Verbindungen zu unterbrechen.

🔹 Alle laufenden Dienste anzeigen

Um einen Überblick zu bekommen:

systemctl list-units --type=service

Oder nur aktive Dienste:

systemctl --type=service --state=running

👉 Sehr praktisch, um zu prüfen, was auf deinem System gerade läuft.

🔹 Unterschied zwischen stop und disable

  • stop → beendet den Dienst sofort, aber nur für die aktuelle Sitzung. Nach einem Neustart läuft er wieder, falls er aktiviert ist.
  • disable → verhindert, dass der Dienst beim Booten gestartet wird.

👉 Willst du einen Dienst komplett deaktivieren, musst du beides kombinieren:

sudo systemctl stop dienst
sudo systemctl disable dienst

🔹 Übung

  1. Starte den ssh-Dienst mit systemctl start ssh und prüfe den Status.
  2. Deaktiviere den Dienst mit systemctl disable ssh und starte den Rechner neu – läuft er noch?
  3. Aktiviere ihn wieder mit systemctl enable ssh.
  4. Liste alle aktiven Dienste mit systemctl --type=service --state=running.

✅ Zusammenfassung

  • systemctl ist das wichtigste Werkzeug, um Dienste in systemd zu verwalten.
  • Mit status, start, stop, restart, reload, enable und disable steuerst du Dienste vollständig.
  • Unterschied: stop wirkt sofort, disable verhindert den Start beim Booten.
  • Mit list-units erhältst du einen Überblick über laufende Dienste.

👉 Im nächsten Kapitel lernst du, wie du mit journalctl Logs und Fehler von Diensten auswerten kannst.

📚 Inhaltsverzeichnis

👉 systemd Kapitel 1: Grundlagen – Was ist systemd und wie arbeitet es?
👉 systemd Kapitel 2: Dienste steuern mit systemctl
👉 systemd Kapitel 3: Logs und Fehlersuche mit journalctl
👉 systemd Kapitel 4: Bootprozess & Targets verstehen
👉 systemd Kapitel 5: Eigene Services erstellen
👉 systemd Kapitel 6: Timer als moderne Cron-Alternative
👉 systemd Kapitel 7: Abschlussprojekt – Eigene Services & Timer kombinieren