Runlevel unter Linux ändern
Runlevel unter Linux sind voreingestellte Systemzustände. Je nach gesetztem Runlevel werden bestimmte Programme ausgeführt, Konfigurationen geladen und Dienste gestartet. Runlevels spielen dabei eine große Rolle im Betrieb und der Wartung eines Linux Systems.
Wie das standardmäßig festgelegte Runlevel beim Booten geändert wird und wie sich dieses im laufenden Betrieb wechselen lässt, zeigt der folgende Beitrag.
Welche Runlevel gibt es
Wie eingangs erwähnt, beschreiben Runlevel unterschiedliche Systemzustände. Jeder Runlevel wird durch einen Integer Wert gekennzeichnet und reicht von 0 – 6. Die nachfolgende Tabelle gibt einen groben Überblick darüber, welcher Runlevel für welche Funktion zuständig ist (kann je nach Distribution leicht variieren):
Runlevel | systemd-target | Funktion |
---|---|---|
0 | poweroff.target | System herunterfahren |
1 | rescue.target | Einzelnutzerbetrieb ohne Netzwerk und ohne grafischer Oberfläche |
2 | – | Mehrbenutzerbetrieb ohne Netzwerk und ohne grafischer Oberfläche |
3 | multiuser.target | Mehrbenutzerbetrieb mit Netzwerk und ohne grafischer Oberfläche |
4 | – | Nicht definiert |
5 | graphical.target | Mehrbenutzerbetrieb mit Netzwerk und grafischer Oberfläche |
6 | reboot.target | System neustarten |
Runlevel beim booten festlegen
Grundsätzlich gibt es zwei Möglichkeiten, das Runlevel während des Bootvorgangs festzulegen, nämlich über systemd und den Grub-Bootloader.
Verwendung von systemd
Nahezu sämtliche modernen Linux Distributionen setzen auf den Sitzungsmanager systemd, über den sich auch das Runlevel steuern lässt. Um den derzeit gesetzten Runlevel abzufragen, führen wir folgenden Befehl aus:
systemctl get-default
Um diesen nun während des Bootvorgangs zu ändern, benutzen wir diesen Befehl (für beispielsweise das Runlevel 3):
sudo systemctl set-default multi-user.target
In der obigen Tabelle innerhalb der Spalte systemd-target lassen sich weitere Möglichkeiten entnehmen, andere Runlevel zu definieren.
Verwendung vom Grub-Bootloader
Eine zweite Möglichkeit den Runlevel zu ändern ist die Modifizierung des Grub-Bootloaders. Hierfür wechseln wir mit einem beliebigen Editor in die folgende Datei:
sudo nano /etc/default/grub
Dort suchen wir die Zeile GRUB_CMDLINE_LINUX_DEFAULT= und fügen hinter dessen Gleichheitszeichen und innerhalb der Hochkommata den gewünschten Runlevel als Zahl ein:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash 3"
Anschließend laden wir die Grub-Konfiguration noch neu ein:
sudo update-grub
Die hier gesetzte Option würde uns ebenfalls bei einem Neustart standardmäßig in den Runlevel 3 (Multi-User mit Netzwerk) bringen.
Bonustipp: Anpassung des Runlevels während des Bootvorgangs
Falls wir während des Systemstarts den Runlevel definieren möchten, drücken wir während des Bootvorgangs die Shift oder Esc-Taste, damit sich das Grub-Menü öffnet:
Hier drücken wir die Taste e und können so die Grub Boot-Parameter vor dem hochfahren anpassen. Dort suchen wir die Zeile, die mit linux beginnt und setzen an dessen Ende lediglich die Zahl des Runlevels, in das gestartet werden soll:
linux /boot/vmlinuz-... root=/dev/sda1 ro quiet splash 3
Anschließend kann diese Option mit der F10-Taste gepeichert und das System gestartet werden.
Bildquellen:
Ubuntu-Gnome Bild von guaxipo auf Pixabay
Command-Line Bild von Donald Clark auf Pixabay