Nach Kernel und initramfs übernimmt das Init-System als erster Prozess im User-Space. Es startet Dienste, setzt Runlevel bzw. Targets um und bringt das System in den gewünschten Betriebszustand. Für LPIC-1 ist das Wissen über historische (SysVinit, Upstart) und aktuelle Systeme (systemd) essenziell.
SysVinit – das klassische Init
- Nutze Runlevel 0–6 (z. B. 3 = Multi-User, 5 = Multi-User + GUI)
- Konfiguration:
/etc/inittab - Dienste starten über Skripte in
/etc/rc?.d/
runlevel
# zeigt aktuellen und vorherigen Runlevel
init 3
# wechselt in Runlevel 3
Upstart – Übergangssystem
- Von Ubuntu eingeführt (2006–2014)
- Ereignis-basiert: Jobs starten bei Events (z. B. „Netzwerk verfügbar“)
- Heute nicht mehr verbreitet, aber prüfungsrelevant
initctl list
# zeigt aktive Jobs (Upstart)
systemd – moderner Standard
- Heute Standard in fast allen Distributionen
- Paralleler Start von Diensten, Abhängigkeitsauflösung
- Verwendet Units (service, target, socket, timer …)
- Runlevel wurden durch Targets ersetzt
systemctl get-default
# zeigt Standard-Target
systemctl isolate multi-user.target
# wechselt ins Multi-User-Target
systemctl list-units --type=service
# listet aktive Services
Runlevel vs. Targets
| Runlevel | systemd-Target |
|---|---|
| 0 | poweroff.target |
| 1 | rescue.target |
| 3 | multi-user.target |
| 5 | graphical.target |
| 6 | reboot.target |
Lerneinheit – Übungsfragen im LPIC-Stil
Frage 1 (Einzelauswahl)
Welches Init-System ist heute Standard in den meisten Linux-Distributionen?
A) SysVinit
B) Upstart
C) systemd
D) inetd
Frage 2 (Mehrfachauswahl)
Welche Runlevel-zu-Target-Zuordnungen sind korrekt?
A) Runlevel 3 = multi-user.target
B) Runlevel 5 = graphical.target
C) Runlevel 1 = rescue.target
D) Runlevel 6 = halt.target
Frage 3 (Befehlseingabe)
Zeige das Standard-Target auf einem systemd-System an.
Frage 4 (Einzelauswahl)
Welches Init-System war ereignisgesteuert und v. a. in frühen Ubuntu-Versionen im Einsatz?
A) SysVinit
B) Upstart
C) systemd
D) OpenRC
Frage 5 (Mehrfachauswahl)
Welche Befehle gehören zu systemd?
A) systemctl get-default
B) initctl list
C) systemctl isolate multi-user.target
D) runlevel
Lösungen & Begründungen
Frage 1: C) systemd. Heute fast überall Standard.
Frage 2: A), B), C). Runlevel 6 entspricht reboot.target, nicht halt.target.
Frage 3 (Musterlösung):
systemctl get-default
Zeigt z. B. „graphical.target“ oder „multi-user.target“ an.
Frage 4: B) Upstart. Es war ein Übergangssystem in Ubuntu.
Frage 5: A) und C) gehören zu systemd, B) ist Upstart, D) gehört zu SysVinit.
Mini-Lernkarte
- SysVinit: Runlevel 0–6, /etc/inittab, rc-Skripte
- Upstart: Ereignisgesteuert, historisch (Ubuntu)
- systemd: Units + Targets, heute Standard
- Befehle: runlevel, initctl, systemctl
Fazit
Das Init-System entscheidet, welche Dienste starten und in welchem Modus Linux läuft. Historisch gab es SysVinit und Upstart, heute ist systemd Standard. Wer die Unterschiede und Befehle kennt, kann Bootprobleme besser eingrenzen und den Systemzustand gezielt steuern – wichtig für die LPIC-1-Prüfung und für den Admin-Alltag.
