Vyhledávání na webu

Jak změnit úrovně běhu (cíle) v SystemD


Systemd je moderní init systém pro Linux: správce systému a služeb, který je kompatibilní s populárním init systémem SysV a LSB init skripty. Jeho cílem bylo překonat nedostatky init SysV, jak je vysvětleno v následujícím článku.

  1. Příběh za „init“ a „systemd“: Proč je třeba „init“ nahradit „systemd“ v Linuxu

Na systémech podobných Unixu, jako je Linux, je aktuální provozní stav operačního systému znám jako runlevel; definuje, jaké systémové služby běží. V populárních init systémech, jako je SysV init, jsou úrovně běhu identifikovány čísly. V systemd se však úrovně běhu označují jako cíle.

Doporučené čtení: Správa procesu spouštění systému a služeb (SysVinit, Systemd a Upstart)

V tomto článku vysvětlíme, jak změnit úrovně běhu (cíle) pomocí systemd. Než se posuneme dále, pojďme se krátce podívat na vztah mezi čísly úrovně spuštění a cíle.

  • Úroveň běhu 0 odpovídá poweroff.target (a runlevel0.target je symbolický odkaz na poweroff.target ).
  • Úroveň běhu 1 odpovídá rescue.target (a runlevel1.target je symbolický odkaz na rescue.target ).
  • Úroveň běhu 3 emuluje multi-user.target (a runlevel3.target je symbolický odkaz na multi-user.target ).
  • Úroveň běhu 5 je emulována graphical.target (a runlevel5.target je symbolický odkaz na graphical.target ).
  • Úroveň běhu 6 je emulována reboot.target (a runlevel6.target je symbolický odkaz na reboot.target ).
  • Emergency odpovídá emergency.target.

Jak zobrazit aktuální cíl (úroveň běhu) v Systemd

Když se systém spustí, ve výchozím nastavení systemd aktivuje jednotku default.target. Jeho hlavní prací je aktivovat služby a další jednotky jejich stažením prostřednictvím závislostí.

Chcete-li zobrazit výchozí cíl, zadejte příkaz níže.

#systemctl get-default 

graphical.target

Chcete-li nastavit výchozí cíl, spusťte příkaz níže.

systemctl set-default multi-user.target  

Jak změnit cíl (úroveň běhu) v Systemd

Zatímco systém běží, můžete přepnout cíl (úroveň běhu), což znamená, že v systému nyní poběží pouze služby a jednotky definované pod tímto cílem.

Chcete-li přepnout na úroveň běhu 3, spusťte následující příkaz.

systemctl isolate multi-user.target 

Chcete-li změnit systém na úroveň běhu 5, zadejte příkaz níže.

systemctl isolate graphical.target

Další informace o systemd naleznete v těchto užitečných článcích:

  1. Jak spravovat služby a jednotky ‚Systemd‘ pomocí ‚Systemctl‘ v Linuxu
  2. Jak vytvořit a spustit nové servisní jednotky v Systemd pomocí skriptu Shell
  3. Správa procesu spouštění systému a služeb (SysVinit, Systemd a Upstart)
  4. Správa zpráv protokolu pod Systemd pomocí Journalctl [Komplexní příručka]

V této příručce jsme si ukázali, jak změnit úrovně běhu (cíle) pomocí systemd. Pomocí níže uvedeného formuláře pro komentáře nám pošlete jakékoli dotazy nebo myšlenky týkající se tohoto článku.