Systemd hat sysVinit als Standard-Dienstmanager in RHEL 7 ersetzt. Einige der sysVinit-Befehle wurden symbolisch mit ihren Gegenstücken in RHEL 7 verknüpft, dies wird jedoch in Zukunft zugunsten der standardmäßigen systemd-Befehle veraltet sein.
SysVinit V/s Systemd-Runlevels
Hier ist ein Vergleich zwischen SysVinit-Runleveln und systemd-Zielen.
Sysvinit-Runlevel | Systemd-Ziel | Funktion |
---|---|---|
0 | runlevel0.ziel, poweroff.ziel | System angehalten/heruntergefahren |
1, s, einzeln | runlevel1.ziel, rettung.ziel | Einzelbenutzermodus |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | Benutzerdefinierte/Site-spezifische Runlevel. Standardmäßig identisch mit 3. |
3 | runlevel3.target, multi-user.target | Mehrere Benutzer, nicht-grafischer Modus, nur Textkonsole |
5 | runlevel5.target, graphisches.target | Mehrbenutzer, grafischer Modus |
6 | runlevel6.ziel, reboot.ziel | Neu starten |
Notfall | Notfall.Ziel | Notfallmodus |
Runlevel mit systemd ändern
Das Runlevel-Ziel kann mit dem systemctl-Isolate-Befehl geändert werden:
# systemctl isolate multi-user.target
Um anzuzeigen, welche Ziele verfügbar sind, können Sie die Option list-units mit dem Typ target
ausgeben# systemctl list-units --type=target
Runlevel 3 wird von multi-user.target emuliert. Dies geschieht durch einen symbolischen Link und kann austauschbar verwendet werden
# systemctl isolate multi-user.target # systemctl isolate runlevel3.target # ls -l /usr/lib/systemd/system/runlevel3.target lrwxrwxrwx 1 root root 17 Oct 18 11:41 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
Runlevel 5 wird von graphic.target emuliert. Dies geschieht ebenfalls durch einen symbolischen Link und kann austauschbar verwendet werden
# systemctl isolate graphical.target # systemctl isolate runlevel5.target # ls -l /usr/lib/systemd/system/runlevel5.target lrwxrwxrwx 1 root root 16 Oct 18 11:41 /usr/lib/systemd/system/runlevel5.target -> graphical.target
Ändern des Standard-Runlevels
Der Standard-Runlevel kann mit der Option set-default geändert werden.
# systemctl set-default multi-user.target
Um die aktuell eingestellte Standardeinstellung zu erhalten, können Sie die Option get-default verwenden.
# systemctl get-default
Der Standard-Runlevel in systemd kann auch mit der folgenden Methode festgelegt werden (jedoch nicht empfohlen).
# ln -sf /lib/systemd/system/[desired].target /etc/systemd/system/default.target
Das Standardziel kann auch während des Bootens in der Kernel-Zeile gesetzt werden, indem die folgende Option hinzugefügt wird:
systemd.unit=multi-user.target