Wenn du dein Linux-System startest, passiert im Hintergrund eine Menge, bevor du am Login-Bildschirm oder Terminal landest.
Verantwortlich dafür ist systemd.
In diesem Kapitel lernst du, wie der Bootprozess abläuft, was Targets sind und wie du das Verhalten deines Systems beim Start beeinflussen kannst.

🔹 Der Bootprozess in Kürze

1. BOIS/UEFI

  • Initialisiert die Hardware.
  • Startet den Bootloader.

2. Bootloader (z. B. GRUB)

  • Lädt den Kernel in den Speicher.
  • Übergibt die Kontrolle an den Kernel.

3. Linux-Kernel

  • Erkennt die Hardware.
  • Startet systemd als ersten Prozess (PID 1).

4. systemd

  • Lädt Dienste in der richtigen Reihenfolge.
  • Bringt das System in den gewünschten Zustand (Target).

👉 systemd übernimmt also ab dem Kernelstart die volle Kontrolle.

🔹 Aktuelles Target prüfen

Mit diesem Befehl siehst du, welches Target aktiv ist:

systemctl get-default

Beispielausgabe:

graphical.target

👉 Das bedeutet: Dein System startet standardmäßig mit einer grafischen Oberfläche.

🔹 Target ändern

Dauerhaft ändern

Wenn dein System standardmäßig im Textmodus starten soll:

sudo systemctl set-default multi-user.target

Zurück in den GUI-Modus:

sudo systemctl set-default graphical.target

👉 Damit bestimmst du, wie dein System beim nächsten Boot hochfährt.

Sofort in ein anderes Target wechseln

Ohne Neustart kannst du mit isolate wechseln:

sudo systemctl isolate multi-user.target

👉 Das fährt sofort in den Textmodus herunter (GUI wird beendet).

Zurück in den grafischen Modus:

sudo systemctl isolate graphical.target

🔹 Spezielle Targets

  • rescue.target
    Minimalmodus für Notfälle, nur Root-Login und grundlegende Dienste.
    sudo systemctl isolate rescue.target
  • emergency.target
    Noch „tieferer“ Notfallmodus, kein Daemon, nur root-Shell.
    sudo systemctl isolate emergency.target

    👉 Wird fast nur zur Fehlerdiagnose verwendet.

🔹 Übung

  1. Finde heraus, welches Target dein System aktuell nutzt:
    systemctl get-default
  2. Wechsle testweise in den Textmodus:
    sudo systemctl isolate multi-user.target

    (Hinweis: Du solltest wissen, wie du wieder in den grafischen Modus kommst!)

  3. Stelle dein Standard-Target wieder auf graphical.target.
  4. Probiere <code aus und sieh, wie stark das System reduziert wird.

✅ Zusammenfassung

  • systemd übernimmt nach dem Kernelstart den gesamten Bootprozess.
  • Targets sind die Nachfolger der klassischen Runlevels und definieren den Systemzustand.
  • Mit systemctl get-default siehst du das Standard-Target.
  • Mit set-default kannst du es dauerhaft ändern, mit isolate sofort.
  • Spezielle Targets wie rescue.target und emergency.target dienen der Fehlerbehebung.

👉 Im nächsten Kapitel lernst du, wie du eigene Services erstellst, die systemd automatisch starten und überwachen kann.

📚 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