Wenn ein Dienst nicht startet oder sich merkwürdig verhält, brauchst du einen Blick in die Logs.

Früher lagen Logdateien verstreut unter /var/log/.
Mit systemd übernimmt das Journal die Protokollierung – und das Werkzeug zum Arbeiten damit heißt journalctl.

🔹 Was ist das systemd-Journal?

  • Das Journal ist die zentrale Log-Sammelstelle von systemd.
  • Es enthält Nachrichten vom Kernel, vom Bootprozess und von allen Diensten.
  • Du musst nicht mehr in zig Dateien unter /var/log/ suchen.

👉 Mit journalctl kannst du alle Logs durchsuchen, filtern und in Echtzeit mitlesen.

🔹 Alle Logs anzeigen

Der einfachste Befehl:

journalctl
  • Zeigt alle Logs seit dem Systemstart an.
  • Kann sehr lang sein – deshalb nutzt man fast immer Filter.

🔹 Echtzeit-Logs verfolgen

Wie bei tail -f:

journalctl -f

👉 Ideal, wenn du sehen willst, wie ein Dienst gerade arbeitet.

🔹 Logs eines Dienstes anzeigen

Du kannst Logs gezielt für einen bestimmten Service abrufen:

journalctl -u ssh

Oder mit Zeitfilter:

journalctl -u ssh --since today
journalctl -u apache2 --since "2025-09-14 12:00:00"

👉 Damit siehst du nur, was relevant ist.

🔹 Boot-Protokolle durchsuchen

Jeder Systemstart wird protokolliert.
Um Logs des aktuellen Boot-Vorgangs zu sehen:

journalctl -b

Frühere Boots:

journalctl -b -1   # letzter Start
journalctl -b -2   # vorletzter Start

👉 Sehr hilfreich bei Problemen nach einem Neustart.

🔹 Logs nach Priorität filtern

Logs haben Schweregrade (0 = Notfall, 7 = Debug).

  • Nur Fehler anzeigen:
    journalctl -p err
  • Nur Warnungen und höher:
    journalctl -p warning

👉 So findest du schneller die relevanten Meldungen.

🔹 Logs in Dateien exportieren

Willst du Logs speichern oder teilen, kannst du sie exportieren:

journalctl -u apache2 --since today > apache_logs.txt

👉 Praktisch für Support oder Dokumentation.

🔹 Übung

  1. Starte einen Dienst neu (z. B. sudo systemctl restart ssh).
  2. Öffne parallel ein Terminal mit journalctl -f -u ssh und beobachte die Logs.
  3. Suche die Logs des letzten Boot-Vorgangs mit journalctl -b -1.
  4. Exportiere die heutigen Apache-Logs in eine Datei apache_heute.log.

✅ Zusammenfassung

  • journalctl ist das Werkzeug, um systemd-Logs zu lesen.
  • Du kannst Logs in Echtzeit verfolgen (-f) oder filtern nach Dienst (-u), Zeit (--since) oder Priorität (-p).
  • Mit -b siehst du Logs bestimmter Boot-Vorgänge.
  • Logs lassen sich leicht in Dateien exportieren.

👉 Im nächsten Kapitel lernst du den Bootprozess & Targets kennen – also wie systemd den Start von Linux organisiert und wie du das beeinflussen 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