Frühere Versionen von CentOS/RHEL Linux verwenden SysV-Init-Ausführungsebenen . Diese Runlevel boten die Möglichkeit, Systeme für unterschiedliche Zwecke zu verwenden und nur die Dienste zu starten, die für einen bestimmten Zweck auf einem bestimmten Runlevel benötigt werden. In RHEL 7 wurden Ausführungsebenen durch systemd-Zieleinheiten ersetzt . Zieleinheiten haben ein .target Erweiterung und ähnlich wie Runlevels ermöglichen Ziel-Units, ein System nur mit den Diensten zu starten, die für einen bestimmten Zweck benötigt werden.
RHEL 7 wird mit einer Reihe vordefinierter Ziele verteilt, die Runlevels in früheren Versionen von RedHat Linux ähneln. Der folgende Befehl gibt den absoluten Pfadnamen dieser vordefinierten Systemd-Runlevel-Zieleinheiten zurück:
# find / -name "runlevel*.target" /usr/lib/systemd/system/runlevel5.target /usr/lib/systemd/system/runlevel0.target /usr/lib/systemd/system/runlevel6.target /usr/lib/systemd/system/runlevel1.target /usr/lib/systemd/system/runlevel2.target /usr/lib/systemd/system/runlevel3.target /usr/lib/systemd/system/runlevel4.target
Vergleich von SysV-Runlevels und Zieleinheiten
Run-Level | Zieleinheiten | Beschreibung |
---|---|---|
0 | runlevel0.ziel, poweroff.ziel | Herunterfahren und ausschalten |
1 | runlevel1.ziel, rettung.ziel | Richten Sie eine Notfall-Shell ein |
2,3,4 | runlevel[234].target, multi-user.target | Richten Sie eine nicht-grafische Mehrbenutzer-Shell ein |
5 | runlevel5.target, graphisches.target | Eine grafische Mehrbenutzer-Shell einrichten |
6 | runlevel6.ziel, reboot.ziel | System herunterfahren und neu starten |
Jede runlevel[0123456].target-Datei ist ein symbolischer Link zu den Systemstart-Target-Äquivalenten. Zum Beispiel:
# cd /usr/lib/systemd/system # ls -l runlevel* lrwxrwxrwx. 1 root root 15 Sep 23 19:52 runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 Sep 23 19:52 runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 Sep 23 19:52 runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 Sep 23 19:52 runlevel6.target -> reboot.target
1. Standard-/aktuelle Zieleinheit anzeigen
Verwenden Sie den folgenden Befehl, um anzuzeigen, welche Zieleinheit standardmäßig verwendet wird:
# systemctl get-default graphical.target
Das graphical.target Zieleinheit gibt an, dass das System in einem grafischen Mehrbenutzermodus ausgeführt wird. Dies ähnelt Runlevel 5 in einem SysV-Init-System. Sie können dies mit dem alten Befehl runlevel überprüfen :
# runlevel N 5
Die standardmäßige Zieleinheit wird durch /etc/systemd/system/default.target dargestellt Datei. Diese Datei ist ein symbolischer Link zur aktuellen Standardzieleinheit. Zum Beispiel:
# ls -lrt /etc/systemd/system/default.target lrwxrwxrwx. 1 root root 36 Sep 23 20:01 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target
2. Listen Sie die derzeit aktiven Ziele auf
Verwenden Sie den folgenden Befehl, um die derzeit aktiven Zieleinheiten auf Ihrem System anzuzeigen.
# systemctl list-units --type target 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-online.target loaded active active Network is Online network.target loaded active active Network nfs-client.target loaded active active NFS client services nss-user-lookup.target loaded active active User and Group Name Lookups paths.target loaded active active Paths remote-fs-pre.target loaded active active Remote File Systems (Pre) 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. 19 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
3. Standard-Zieleinheit ändern
Verwenden Sie den folgenden Befehl, um die standardmäßige Zieleinheit zu ändern (z. B. um die Standardeinheit in die Einheit multi-user.target zu ändern):
# systemctl set-default multi-user.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
Beachten Sie, dass sich der symbolische Link default.target geändert hat und nun auf die Unit multi-user.target zeigt:
# ls -lrt /etc/systemd/system/default.target lrwxrwxrwx. 1 root root 41 Sep 24 11:58 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
4. Ändern Sie die derzeit aktive Systemzieleinheit
Der set-default Der Befehl ändert den aktuellen Zustand des Systems nicht. So ändern Sie das derzeit aktive Systemziel (z. B. um das derzeit aktive Systemziel in multi-user.target zu ändern):
# systemctl isolate multi-user.target
Dieser Befehl ähnelt der Verwendung von telinit [Runlevel] um den aktuellen Runlevel zu ändern. Dieser telinit-Befehl existiert noch, ist aber nur aus Kompatibilitätsgründen enthalten.
Sie können auch den folgenden Befehl verwenden, um die Standardzieleinheit einzugeben:
# systemctl default
Dies entspricht dem folgenden Befehl:
# systemctl isolate default.targetCentOS / RHEL 7 :Systemd-Befehlszeilenreferenz (Spickzettel)
CentOS / RHEL 7 :So ändern Sie Runlevels (Ziele) mit Systemd
CentOS / RHEL 7 :Anfängerleitfaden zu Systemd-Serviceeinheiten
CentOS / RHEL 7 :Anfängerleitfaden für systemd