Předchozí verze CentOS/RHEL Linux používají úrovně spuštění SysV init . Tyto úrovně běhu poskytovaly možnost používat systémy pro různé účely a spouštět pouze služby potřebné pro konkrétní účel na konkrétní úrovni běhu. V RHEL 7 byly úrovně běhu nahrazeny cílovými jednotkami systemd . Cílové jednotky mají .target rozšíření a podobně jako u úrovní běhu vám cílové jednotky umožňují spustit systém pouze se službami, které jsou vyžadovány pro konkrétní účel.
RHEL 7 je distribuován se sadou předdefinovaných cílů, které jsou podobné úrovním běhu v předchozích verzích RedHat Linuxu. Následující příkaz vrátí absolutní cestu k těmto předdefinovaným cílovým jednotkám úrovně běhu systému:
# 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
Porovnání úrovní běhu SysV a cílových jednotek
Úroveň běhu | Cílové jednotky | Popis |
---|---|---|
0 | runlevel0.target, poweroff.target | Vypnout a vypnout |
1 | runlevel1.target, rescue.target | Nastavit záchranný shell |
2,3,4 | runlevel[234].target, multi-user.target | Nastavte negrafický víceuživatelský shell |
5 | runlevel5.target, graphical.target | Nastavte grafický víceuživatelský shell |
6 | runlevel6.target, reboot.target | Vypněte a restartujte systém |
Každý soubor runlevel[0123456].target je symbolickým odkazem na ekvivalenty cíle startu systému. Například:
# 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. Zobrazit výchozí/aktuální cílovou jednotku
Pomocí následujícího příkazu zobrazíte, která cílová jednotka se používá ve výchozím nastavení:
# systemctl get-default graphical.target
graphical.target cílová jednotka označuje, že systém běží v grafickém stavu pro více uživatelů. Je to podobné jako spuštění úrovně 5 v inicializačním systému SysV. Můžete to ověřit pomocí starého příkazu runlevel :
# runlevel N 5
Výchozí cílovou jednotku představuje /etc/systemd/system/default.target soubor. Tento soubor je symbolickým odkazem na aktuální výchozí cílovou jednotku. Například:
# 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. seznam aktuálně aktivních cílů
Chcete-li zobrazit aktuálně aktivní cílové jednotky ve vašem systému, použijte níže uvedený příkaz.
# 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. Změnit výchozí cílovou jednotku
Ke změně výchozí cílové jednotky použijte následující příkaz (například ke změně výchozí jednotky na multi-user.target):
# 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.
Všimněte si, že symbolický odkaz default.target se změnil a nyní ukazuje na jednotku multi-user.target:
# 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. Změnit aktuálně aktivní systémovou cílovou jednotku
set-default příkaz nemění aktuální stav systému. Chcete-li změnit aktuálně aktivní systémový cíl (například změnit aktuálně aktivní systémový cíl na multi-user.target):
# systemctl isolate multi-user.target
Tento příkaz je podobný použití telinit [runlevel] pro změnu aktuální úrovně běhu. Tento příkaz telinit stále existuje, ale je zahrnut pouze z důvodů kompatibility.
Pro zadání výchozí cílové jednotky můžete také použít následující příkaz:
# systemctl default
To je ekvivalentní následujícímu příkazu:
# systemctl isolate default.targetCentOS / RHEL 7 :reference příkazového řádku systemd (cheat sheet)
CentOS / RHEL 7 :Jak změnit úrovně běhu (cíle) pomocí systemd
CentOS / RHEL 7 :Průvodce pro začátečníky k servisním jednotkám systemd
CentOS / RHEL 7:Průvodce systemd pro začátečníky