Linux System Administrator: Den Standard Runlevel (Target) ändern
Hier ist ein strukturiertes Tutorial auf Deutsch, das sich am Aufgabenbereich eines Linux-Systemadministrators orientiert.
In der modernen Linux-Administration (bei Distributionen wie CentOS, RHEL, Ubuntu oder Debian) wurde das klassische SysVinit-System weitgehend durch systemd ersetzt. Während man früher von "Runlevels" sprach, verwendet man heute den Begriff "Targets". Dieses Tutorial zeigt Ihnen, wie Sie diese verwalten und dauerhaft ändern.
1. Grundlagen: Runlevels vs. systemd Targets
Bevor wir Änderungen vornehmen, ist es wichtig, die Entsprechungen zwischen den alten Runlevels und den neuen systemd Targets zu verstehen:
| Runlevel | systemd Target | Beschreibung |
|---|---|---|
| 1 | rescue.target | Einzelbenutzermodus (Wartung) |
| 3 | multi-user.target | Mehrbenutzermodus, Konsole (Server-Standard) |
| 5 | graphical.target | Mehrbenutzermodus mit grafischer Oberfläche (Desktop) |
| 0 / 6 | poweroff.target / reboot.target | Herunterfahren / Neustart |
2. Den aktuellen Standard prüfen
Als Administrator müssen Sie zunächst wissen, in welchem Modus das System aktuell startet.
Befehl:
systemctl get-default
Ausgabebeispiel: graphical.target (Das System startet aktuell mit grafischer Oberfläche).
3. Real-time Task: Den Standard permanent ändern
Szenario: Ein Server wurde mit einer grafischen Oberfläche installiert, soll aber aus Performance- und Sicherheitsgründen standardmäßig nur noch im Textmodus (Runlevel 3) booten.
Schritt 1: Das gewünschte Target festlegen
Um den Standard auf den Textmodus (Multi-User) zu setzen, verwenden Sie den Befehl set-default.
Befehl:
sudo systemctl set-default multi-user.target
Schritt 2: Überprüfung der Änderung
Prüfen Sie, ob der symbolische Link korrekt aktualisiert wurde.
Befehl:
systemctl get-default
Ausgabe: multi-user.target
4. Den Modus im laufenden Betrieb ändern (ohne Neustart)
Wenn Sie den Modus sofort ändern möchten, ohne den Server neu zu starten, nutzen Sie den Befehl isolate. Dies entspricht dem alten Befehl telinit 3.
Vorsicht: Nicht gespeicherte Daten in der grafischen Oberfläche könnten verloren gehen!
Befehl (Wechsel zum Textmodus):
sudo systemctl isolate multi-user.target
Befehl (Wechsel zur grafischen Oberfläche):
sudo systemctl isolate graphical.target
5. Liste aller verfügbaren Targets anzeigen
Falls Sie nach anderen speziellen Modi suchen, können Sie sich alle geladenen Targets anzeigen lassen.
Befehl:
systemctl list-units --type=target
Zusammenfassung für den Sysadmin (Cheat Sheet)
- Status prüfen:
systemctl get-default - Permanent ändern:
sudo systemctl set-default [TARGETNAME] - Sofort wechseln:
sudo systemctl isolate [TARGETNAME] - Wichtigstes Ziel für Server:
multi-user.target - Wichtigstes Ziel für Workstations:
graphical.target
Dieses Wissen gehört zu den Kernaufgaben eines Administrators, um die Systemressourcen zu optimieren und die Boot-Umgebung an die Anforderungen des Servers anzupassen.