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 |
Destinazioni livello esecuzione equivalenti |
Descrizione |
|---|---|---|
|
|
|
Configurare un sistema multiutente con funzionalità di networking e display manager. |
|
|
|
Configurare un sistema multiutente non grafico con la rete. |
|
|
|
Arrestare e spegnere il sistema. |
|
|
|
Spegnere il sistema ed effettuarne il reboot. |
|
|
|
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
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).