Com canviar els nivells d'execució (objectius) a SystemD


Systemd és un sistema d'inici modern per a Linux: un gestor de sistemes i serveis que és compatible amb el popular sistema d'inici SysV i els scripts d'inici LSB. Es pretenia superar les deficiències de SysV init tal com s'explica a l'article següent.

  1. La història darrere d'init i systemd: per què s'ha de substituir init per systemd a Linux

En sistemes semblants a Unix com Linux, l'estat operatiu actual del sistema operatiu es coneix com a nivell d'execució; defineix quins serveis del sistema s'estan executant. Sota els sistemes d'inici populars com SysV init, els nivells d'execució s'identifiquen mitjançant números. Tanmateix, als nivells d'execució de systemd s'anomenen objectius.

En aquest article, explicarem com canviar els nivells d'execució (objectius) amb systemd. Abans d'avançar, analitzem breument la relació entre els nombres de nivells d'execució i els objectius.

  • El nivell d'execució 0 coincideix amb poweroff.target (i runlevel0.target és un enllaç simbòlic a poweroff.target).
  • El nivell d'execució 1 coincideix amb rescue.target (i runlevel1.target és un enllaç simbòlic a rescue.target).
  • El nivell d'execució 3 és emulat per multi-user.target (i runlevel3.target és un enllaç simbòlic a multi-user.target).
  • El nivell d'execució 5 és emulat per graphical.target (i runlevel5.target és un enllaç simbòlic a graphical.target).
  • El nivell d'execució 6 és emulat per reboot.target (i runlevel6.target és un enllaç simbòlic a reboot.target).
  • Emergency coincideix amb emergency.target.

Com veure l'objectiu actual (nivell d'execució) a Systemd

Quan el sistema arrenca, per defecte systemd activa la unitat default.target. La seva tasca principal és activar serveis i altres unitats introduint-los a través de dependències.

Per veure l'objectiu predeterminat, escriviu l'ordre següent.

#systemctl get-default 

graphical.target

Per establir l'objectiu predeterminat, executeu l'ordre següent.

# systemctl set-default multi-user.target  

Com canviar l'objectiu (nivell d'execució) a Systemd

Mentre el sistema s'executa, podeu canviar l'objectiu (nivell d'execució), és a dir, només els serveis i les unitats definides sota aquest objectiu ara s'executaran al sistema.

Per canviar al nivell d'execució 3, executeu l'ordre següent.

# systemctl isolate multi-user.target 

Per canviar el sistema al nivell d'execució 5, escriviu l'ordre següent.

# systemctl isolate graphical.target

Per obtenir més informació sobre systemd, llegiu aquests articles útils:

  1. Com gestionar els serveis i les unitats Systemd mitjançant Systemctl a Linux
  2. Com crear i executar noves unitats de servei a Systemd mitjançant l'script de Shell
  3. Gestionar el procés d'inici del sistema i els serveis (SysVinit, Systemd i Upstart)
  4. Gestiona els missatges de registre amb Systemd mitjançant Journalctl [Guia completa]

En aquesta guia, vam mostrar com canviar els nivells d'execució (objectius) amb systemd. Utilitzeu el formulari de comentaris a continuació per enviar-nos qualsevol pregunta o reflexió sobre aquest article.