In CentOS 7/RHEL 7 verwendet systemd Ziele statt Runlevels. /etc/inittab
wird nicht mehr von systemd verwendet, um die Ausführungsebenen zu ändern.
Diese Anleitung hilft Ihnen beim Festlegen des Standard-Runlevels in CentOS 7 / RHEL 7.
Standard-Runlevel ändern
Der Standard-Runlevel kann entweder mit systemctl gesetzt werden Befehl oder Erstellen einer symbolischen Verknüpfung von Runlevel-Zielen in die Standardzieldatei.
Methode 1
Lassen Sie uns den aktuellen Runlevel überprüfen, indem Sie den folgenden Befehl ausgeben.
systemctl get-default
Ausgabe:
runlevel5.target
Bevor wir den Standard-Runlevel ändern, müssen wir die verfügbaren Ziele überprüfen.
systemctl list-units --type=target
Die Ausgabe sieht wie folgt aus.
UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System cryptsetup.target loaded active active Encrypted Volumes getty.target loaded active active Login Prompts graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems multi-user.target loaded active active Multi-User System network.target loaded active active Network nfs.target loaded active active Network File System Server paths.target loaded active active Paths remote-fs.target loaded active active Remote File Systems slices.target loaded active active Slices sockets.target loaded active active Sockets swap.target loaded active active Swap sysinit.target loaded active active System Initialization timers.target loaded active active Timers LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type.
Ändere den Standard auf Runlevel 3 (nichts als ein multi-user.target).
systemctl set-default multi-user.target
Bestätigen Sie den Standard-Runlevel.
systemctl get-default
Ausgabe:
multi-user.target
Starten Sie neu und überprüfen Sie es.
reboot
Methode 2
Möglicherweise wird Ihnen eine Ausgabe unten auffallen, wenn systemctl set-default multi-us er.target Befehl wird ausgegeben.
rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'
Was der Befehl macht, ist nichts anderes als das Herstellen einer symbolischen Verknüpfung von Runlevel-Zielen mit der Standard-Zieldatei.
Prüfen Sie den aktuellen Stand.
systemctl get-default
Ausgabe:
multi-user.target
Bevor wir den symbolischen Link erstellen, listen wir die Dateien im systemd-Verzeichnis auf.
ls /lib/systemd/system/runlevel*target -l
Die Ausgabe sieht wie folgt aus:
lrwxrwxrwx. 1 root root 15 Aug 3 13:44 /lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 Aug 3 13:44 /lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 Aug 3 13:44 /lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Aug 3 13:44 /lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Aug 3 13:44 /lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 Aug 3 13:44 /lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 Aug 3 13:44 /lib/systemd/system/runlevel6.target -> reboot.target
Wie im vorherigen Schritt, der aktuelle Standard-Runlevel 3. Führen Sie den folgenden Befehl aus, um einen symbolischen Link von runlevel5.target auf die Datei default.target zu erstellen.
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
oder
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Überprüfen Sie erneut das aktuelle Niveau.
systemctl get-default
Ausgabe:
runlevel5.target
Jetzt ist der Standard-Runlevel 5 (grafischer Modus), starten Sie den Server neu und testen Sie ihn aus.
reboot
Schlussfolgerung
Das ist alles. Ich hoffe, dieser Beitrag hat Ihnen geholfen, den Standard-Runlevel in CentOS 7 / RHEL 7 zu ändern. Wir freuen uns über Ihre Kommentare.