Destinazioni Systemd

Descrive il modo in cui le destinazioni systemd vengono mappate ai livelli di esecuzione e come ispezionare o modificare lo stato del sistema.

Utilizzando le destinazioni, è possibile controllare systemd in modo che avvii solo i servizi necessari per uno scopo specifico.

Ad esempio, è possibile impostare la destinazione predefinita su multi-user.target in un server di produzione in modo che non venga utilizzata l'interfaccia utente grafica al boot del sistema. In un caso in cui è necessario risolvere i problemi o eseguire la diagnostica, è possibile impostare la destinazione su rescue.target, in cui solo root esegue il login al sistema per eseguire il numero minimo di servizi.

Ogni livello di esecuzione definisce i servizi che systemd arresta o avvia. Ad esempio, systemd avvia i servizi di rete per multi-user.target e X Window System per graphical.target e arresta entrambi i servizi per rescue.target.

Obiettivi stato-sistema e Destinazioni livello di esecuzione equivalenti mostra le destinazioni stato-sistema più utilizzate e le destinazioni livello di esecuzione equivalenti.

Destinazioni stato-sistema e destinazioni livello di esecuzione equivalenti

Destinazioni stato-sistema

Destinazioni livello esecuzione equivalenti

Descrizione

graphical.target

runlevel5.target

Configurare un sistema multiutente con funzionalità di networking e display manager.

multi-user.target

runlevel2.target

runlevel3.target

runlevel4.target

Configurare un sistema multiutente non grafico con la rete.

poweroff.target

runlevel0.target

Arrestare e spegnere il sistema.

reboot.target

runlevel6.target

Spegnere il sistema ed effettuarne il reboot.

rescue.target

runlevel1.target

Impostare un guscio di salvataggio.

Si noti che le destinazioni runlevel* vengono implementate come collegamenti simbolici.

Per ulteriori informazioni, vedere la pagina del manuale systemd.target(5).

Visualizzazione delle destinazioni sistema-stato predefinite e attive

Mostra come eseguire query sulla destinazione predefinita del sistema e elencare tutte le destinazioni attive con systemctl.

Per visualizzare la destinazione dello stato del sistema predefinita, usare il comando systemctl get-default:

systemctl get-default
graphical.target

Per visualizzare le destinazioni attive in un sistema, utilizzare il comando systemctl list-units --type target:

systemctl list-units --type target [--all]
UNIT                   LOAD   ACTIVE SUB    DESCRIPTION                
basic.target           loaded active active Basic System               
cryptsetup.target      loaded active active Local 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-pre.target     loaded active active Network (Pre)              
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        
rpc_pipefs.target      loaded active active rpc_pipefs.target          
rpcbind.target         loaded active active RPC Port Mapper            
slices.target          loaded active active Slices                     
sockets.target         loaded active active Sockets                    
sound.target           loaded active active Sound Card                 
sshd-keygen.target     loaded active active sshd-keygen.target         
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.

24 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

L'output per un sistema con la destinazione graphical attiva indica che questa destinazione dipende da altre destinazioni attive, tra cui network e sound per la funzionalità di rete e audio.

Utilizzare l'opzione --all per includere le destinazioni inattive nell'elenco.

Per ulteriori informazioni, vedere le pagine del manuale systemctl(1) e systemd.target(5).

Modifica delle destinazioni sistema-stato predefinite e attive

Spiega come cambiare la destinazione di boot predefinita e isolare una destinazione diversa durante l'esecuzione del sistema.

Utilizzare il comando systemctl set-default per modificare la destinazione dello stato del sistema predefinita:

sudo 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
Nota

Questo comando modifica la destinazione alla quale è collegata la destinazione predefinita, ma non modifica lo stato del sistema.

Per modificare la destinazione del sistema attivo corrente, utilizzare il comando systemctl isolate, ad esempio:

sudo systemctl isolate multi-user.target

Per ulteriori informazioni, vedere la pagina del manuale systemctl(1).