V této části přípravy na zkoušku RHCSA se naučíte, jak se ručně změnit na jiné spouštěcí cíle. Tento článek vás také naučí, jak nastavit výchozí spouštěcí cíle pro automatické spouštění do grafického nebo víceuživatelského cíle v systému Red Hat Enterprise Linux.
V tomto tutoriálu se naučíte:
- Jak zkontrolovat výchozí cíl spouštění
- Jak ručně přepínat mezi různými cíli
- Jak nastavit výchozí spouštění na cíl pro více uživatelů
- Jak nastavit výchozí spouštění na grafický cíl
Změňte výchozí cíl úrovně běhu v systému RHEL 8. Požadavky na software a použité konvence
| Kategorie | Požadavky, konvence nebo použitá verze softwaru |
|---|---|
| Systém | Red Hat Enterprise Linux 8 |
| Software | Není k dispozici |
| Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
| Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Co jsou cíle úrovně běhu
Cíl bootování si můžete představit jako konkrétní úroveň operace. Pokud tedy například dáváte přednost použití grafického uživatelského rozhraní (vzhledem k tomu, že je nainstalováno grafické uživatelské rozhraní), možná budete chtít změnit úroveň provozu na graphical.target . Podobně pro negrafickou provozní úroveň pro více uživatelů budete muset změnit na multi-user.target .
Pokud znáte SysV, který byl výchozím inicializačním standardem pro mnoho systémů GNU/Linux před systemd proliferace, můžete si vybavit grafický cíl jako runlevel 5 nebo cíl pro více uživatelů jako runlevel 4 . Ve skutečnosti se mnoho nezměnilo a nomenklatura runlevel stále existuje. Pomocí následujícího příkazu můžete vypsat všechny cíle úrovně běhu dostupné ve vašem systému RHEL:
# ls -l /lib/systemd/system/runlevel*.target
Pro všechny možné cíle použijte:
# systemctl list-units --type target or # systemctl list-units --type target --all
| Úroveň běhu | Cílová jednotka | Popis cílové jednotky |
|---|---|---|
| 0 | runlevel0.target nebo poweroff.target | Změna systému na úroveň běhu 0 vypne systém a vypne váš server/desktop. |
| 1 | runlevel1.target nebo rescue.target | Úroveň záchranného běhu, známá také jako jeden režim, se používá pro odstraňování problémů se systémem a různé úlohy správy systému. |
| 2 | runlevel2.target nebo multi-user.target | Uživatelem definovaná úroveň běhu. Ve výchozím nastavení identické s úrovní běhu 3. |
| 3 | runlevel3.target nebo multi-user.target | Toto je víceuživatelská a negrafická úroveň běhu. Více uživatelů se může přihlásit prostřednictvím lokálních konzolí/terminálů nebo vzdáleného síťového přístupu. |
| 4 | runlevel4.target nebo multi-user.target | Uživatelem definovaná úroveň běhu. Ve výchozím nastavení identické s úrovní běhu 3. |
| 5 | runlevel5.target nebo graphical.target | Grafická úroveň běhu pro více uživatelů. Více uživatelů se může přihlásit prostřednictvím lokálních konzolí/terminálů nebo vzdáleného síťového přístupu. |
| 6 | runlevel6.target nebo reboot.target | Změna systému na tuto úroveň běhu restartuje váš systém. |
Když se při zkoušce RHCSA zaseknete nebo si prostě nepamatujete některé z výše uvedených pojmů týkajících se úrovní běhu, podívejte se na manuálovou stránku spuštěním
man runlevel příkaz.Jak zkontrolovat a změnit výchozí cíl spouštění
Nejprve se naučíme, jak zkontrolovat aktuálně nakonfigurovaný výchozí cíl spouštění na úrovni běhu. Po dokončení nastavíme výchozí cíl úrovně běhu našeho systému na úroveň běhu 3, což je multi-user.target cílová jednotka. Nastavení výchozího cíle úrovně běhu dá vašemu systému pokyn, aby se automaticky spustil do předem nakonfigurované úrovně běhu.
- Zkontrolujte výchozí konfiguraci systému na úrovni běhu:
# systemctl get-default graphical.target OR # ls -l /etc/systemd/system/default.target
Výše uvedený příkaz vypíše název aktuálně nastavené výchozí cílové jednotky úrovně běhu.
- Nastavte výchozí cílovou jednotku úrovně běhu na
multi-user.targetcílová jednotka. Toto nakonfiguruje váš systém tak, aby se zaváděl dorunlevel3při příštím restartu systému.# systemctl set-default multi-user.target Removed /etc/systemd/system/default.target. Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.
VĚDĚLI JSTE?
Na jednotlivé cílové jednotky můžete odkazovat pod různými názvy. Například pro vaši zkoušku RHCSA může být snazší zapamatovat sirunlevel3místomulti-user.target. Nejen, že se snáze zapamatuje, ale také se rychleji píše, což vám ušetří čas na zkoušce. Například následující čtyři příkazy jsou zcela totožné. Nejlepší příkaz k použití je ten, který si nejsnáze zapamatujete:# systemctl set-default multi-user.target # systemctl set-default multi-user # systemctl set-default runlevel3.target # systemctl set-default runlevel3
Abyste lépe porozuměli tomu, co se zde děje, měli byste si nejprve prostudovat cíl RHCSA Vytvořit pevné a měkké odkazy. Jakmile budete připraveni, všimněte si, že cíle, jako je například
multi-user.targetje jednoduše symbolický odkaz narunlevel3.targetjednotka.
Seznam všech dostupných cílů spouštění v systému RHEL. - Restartujte systém:
# reboot
Jak ručně změnit cíl na jiný runlevel
Výše uvedená část vysvětluje, jak změnit výchozí úroveň běhu. To znamená, že při příštím restartu se systém zavede do uživatelem zvolené úrovně běhu. Dále se naučíme, jak změnit úroveň běhu za běhu bez nutnosti restartu. Toho lze dosáhnout pomocí systemctl příkaz s kombinací isolate argument.
V níže uvedeném příkladu se dočasně změníme z graphical runlevel na multi-user cílová.
- Změnit na
multi-userrunlevel:# systemctl isolate multi-user
Výše uvedený příkaz jednoduše deaktivoval
graphicalrunlevel a odpovídající služby. - Pokud nevidíte výzvu k přihlášení, možná budete muset přejít na jinou konzoli TTY pomocí kombinace
CTRT+ALT+F1klíče.
Cvičení
- Restartujte systém ručním přepnutím na
reboot.targetpomocísystemctlpříkaz. Můžete také použít cílové vypnutí na úrovni běhu a vypnutí systému? - Nastavte svůj systém tak, aby se spouštěl přímo pro
multi-usercílová. Restartujte systém a potvrďte, že se systém trvale spouští domulti-usercílová. - Zkuste opakovaně přepínat mezi
multi-userrunlevel agraphicalrunlevel. Proč nevidíte výzvu k přihlášení přímo při přepínání zgraphicalnamulti-userrunlevel? - Toto je otázka navíc pro dobré studenty a ty, kteří se nebojí malých potíží a vlastního výzkumu.
VAROVÁNÍ
Při práci na otázce 4 můžete skončit s nefunkčním systémem. Pokračujte tedy pouze na neprodukčním systému, jako jsou virtuální stroje sandbox atd.Znovu, nepokoušejte se o tuto otázku, pokud nejste připraveni případně rozbít váš systém! Nastavte výchozí cíl spouštění na
reboot.targetjednotku a restartujte systém. Můžete opravit neustálé restarty a nastavit výchozí úroveň běhu zpět narunlevel5?