Ricerca nel sito web

Come modificare i runlevel (obiettivi) in SystemD


Systemd è un moderno sistema init per Linux: un gestore di sistema e servizi compatibile con il popolare sistema init SysV e gli script init LSB. Lo scopo era superare le carenze di SysV init come spiegato nel seguente articolo.

  1. La storia dietro "init" e "systemd": perché "init" doveva essere sostituito con "systemd" in Linux

Sui sistemi simili a Unix come Linux, lo stato operativo corrente del sistema operativo è noto come runlevel; definisce quali servizi di sistema sono in esecuzione. Nei sistemi di init più diffusi come SysV init, i runlevel sono identificati da numeri. Tuttavia, in systemd i runlevel vengono definiti target.

Lettura consigliata: Gestione del processo e dei servizi di avvio del sistema (SysVinit, Systemd e Upstart)

In questo articolo spiegheremo come modificare i runlevel (obiettivi) con systemd. Prima di proseguire, esaminiamo brevemente la relazione tra i numeri dei runlevel e i target.

  • Runlevel 0 corrisponde a poweroff.target (e runlevel0.target è un collegamento simbolico a poweroff.target ).
  • Run level 1 corrisponde a rescue.target (e runlevel1.target è un collegamento simbolico a rescue.target ).
  • Il runlevel 3 è emulato da multi-user.target (e runlevel3.target è un collegamento simbolico a multi-user.target ).
  • Il Runlevel 5 è emulato da graphic.target (e runlevel5.target è un collegamento simbolico a graphic.target ).
  • Runlevel 6 è emulato da reboot.target (e runlevel6.target è un collegamento simbolico a reboot.target ).
  • Emergenza corrisponde a emergenza.target.

Come visualizzare il target corrente (livello di esecuzione) in Systemd

All'avvio del sistema, per impostazione predefinita systemd attiva l'unità default.target. Il suo compito principale è attivare servizi e altre unità inserendoli tramite dipendenze.

Per visualizzare la destinazione predefinita, digitare il comando seguente.

#systemctl get-default 

graphical.target

Per impostare la destinazione predefinita, esegui il comando seguente.

systemctl set-default multi-user.target  

Come modificare la destinazione (runlevel) in Systemd

Mentre il sistema è in esecuzione, è possibile cambiare la destinazione (livello di esecuzione), il che significa che solo i servizi e le unità definiti in tale destinazione verranno ora eseguiti sul sistema.

Per passare al runlevel 3, esegui il comando seguente.

systemctl isolate multi-user.target 

Per modificare il sistema in runlevel 5, digita il comando seguente.

systemctl isolate graphical.target

Per ulteriori informazioni su systemd, leggi questi articoli utili:

  1. Come gestire servizi e unità "Systemd" utilizzando "Systemctl" in Linux
  2. Come creare ed eseguire nuove unità di servizio in Systemd utilizzando lo script Shell
  3. Gestione del processo e dei servizi di avvio del sistema (SysVinit, Systemd e Upstart)
  4. Gestisci i messaggi di registro in Systemd utilizzando Journalctl [Guida completa]

In questa guida, abbiamo mostrato come modificare i runlevel (obiettivi) con systemd. Utilizza il modulo di commento qui sotto per inviarci qualsiasi domanda o pensiero riguardante questo articolo.