Gestione del sistema con systemd
Spiega il ruolo di systemd in Oracle Linux e come la sua configurazione e le sue unità modellano l'avvio del sistema.
systemd è l'inizializzazione del sistema e il service manager di Oracle Linux.
Il daemon systemd è il primo processo che inizia dopo il boot del sistema ed è il processo finale che viene eseguito alla chiusura del sistema. systemd controlla le fasi finali del boot e prepara l'uso del sistema. Inoltre accelera l'avvio caricando contemporaneamente i servizi.
Consulta la sezione Usa Systemd su Oracle Linux per un'esercitazione pratica e demo video sull'utilizzo di systemd in Oracle Linux.
Per ulteriori informazioni sul boot del sistema, vedere Managing Kernels and System Boot on Oracle Linux.
configurazione systemd
systemd legge la configurazione dai file nelle seguenti directory, in ordine di priorità:
-
$HOME/.config/systemd/: voci di configurazione systemd specifiche dell'utente. -
/etc/systemd/: personalizzazione della configurazione systemd a livello di sistema. -
/run/systemd/: configurazione systemd runtime. -
/usr/lib/systemd: configurazione systemd di base fornita dai pacchetti.
la personalizzazione della configurazione systemd viene memorizzata nella directory /etc/systemd. Ad esempio, è possibile copiare il file /usr/lib/systemd/system.conf nel file /etc/systemd/system.conf e modificarlo per controllare in che modo systemd gestisce l'inizializzazione del sistema.
Il daemon systemd avvia i servizi durante il processo di boot leggendo il collegamento simbolico /etc/systemd/system/default.target.
L'esempio seguente mostra il valore di /etc/systemd/system/default.target in un sistema configurato per il boot in modalità multiutente senza un'interfaccia utente grafica, una destinazione denominata multi-user.target:
sudo ls -l /etc/systemd/system/default.target
/etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
È possibile utilizzare un parametro di boot del kernel per eseguire l'override della destinazione di sistema predefinita. Vedere Modifica dei parametri di boot del kernel prima del boot e Utilizzo di grubby per la gestione dei kernel.
unità di sistema
Panoramica dei principali tipi di unità systemd, come elencarli e dove risiedono i file di configurazione.
systemd organizza i diversi tipi di risorse che gestisce in unità.
La maggior parte delle unità sono configurate in file di configurazione delle unità che consentono di configurare queste unità in base alle esigenze del sistema. Oltre ai file, è anche possibile utilizzare i comandi runtime systemd per configurare le unità.
Per visualizzare tutti i tipi di unità disponibili in systemd, utilizzare il comando seguente:
sudo systemctl -t help
Available unit types:
service
mount
swap
socket
target
device
automount
timer
path
slice
scope
L'elenco seguente descrive alcune unità di sistema che è possibile gestire su un sistema Oracle Linux utilizzando systemd:
- Servizi
- I file di configurazione dell'unità di servizio hanno il formato nome file service_name.
service, ad esempiosshd.service,crond.serviceehttpd.service.Le unità di servizio avviano e controllano i demoni e i processi di cui sono costituiti i demoni.
L'esempio seguente mostra come avviare l'unità di servizio
systemdper il server Apache HTTP,httpd.service:sudo systemctl start httpd.servicePer ulteriori informazioni, vedere Service Management in Systemd.
- Destinazioni
- I file di configurazione dell'unità di destinazione hanno il formato nome file target_name.
target, ad esempiographical.target.Le destinazioni sono simili ai livelli di esecuzione. Un sistema raggiunge destinazioni diverse durante il processo di boot durante la configurazione delle risorse. Ad esempio, un sistema raggiunge
network-pre.targetprima di raggiungere la destinazionenetwork-online.target.Molte unità di destinazione hanno dipendenze. Ad esempio, l'attivazione di
graphical.target(per una sessione grafica) non riesce a meno che non sia attivo anchemulti-user.target(per un sistema multiutente).Per ulteriori informazioni, vedere Destinazioni Systemd.
- Punti di attivazione del file System
- I file di configurazione dell'unità di accesso hanno il formato del nome file mount_point_name.
mount.Le unità di attivazione consentono di attivare i file system in fase di boot. Ad esempio, è possibile eseguire il comando seguente per attivare il file system temporaneo (tmpfs) su/tmpin fase di boot:sudo systemctl enable tmp.mount - Dispositivi
- I file di configurazione dell'unità dispositivo hanno il formato nome file device_unit_name.
device.Le unità di dispositivo prendono il nome dai percorsi
/syse/devche controllano. Ad esempio, il dispositivo/dev/sda5viene esposto in systemd comedev-sda5.device.Le unità di dispositivo consentono di implementare l'attivazione basata sul dispositivo.
- Socket
- I file di configurazione dell'unità socket hanno il formato nome file socket_unit_name.
socket.Ogni file "*.
socket" richiede un file "*.service" corrispondente per configurare il servizio in modo che venga avviato sul traffico in entrata nel socket.Le unità socket consentono di implementare l'attivazione basata su socket.
- Timer
I file di configurazione dell'unità timer hanno il formato del nome file timer_unit_name.
Ogni file "*.timer.timer" richiede un file "*.service" corrispondente per configurare il servizio per l'avvio in corrispondenza di un evento timer configurato. Se necessario, è possibile utilizzare una voce di configurazioneUnitper specificare un servizio denominato in modo diverso dall'unità timer.Le unità timer possono controllare quando le unità di servizio vengono eseguite e possono agire come alternativa all'utilizzo del daemon cron. Le unità timer possono essere configurate per gli eventi temporali del calendario, gli eventi temporali monotonici e possono essere eseguite in modo asincrono.
Per ulteriori informazioni, vedere Utilizzo dei timer in Systemd.
I percorsi dei file di configurazione dell'unità systemd variano a seconda del loro scopo e se systemd è in esecuzione in modalità 'user' o 'system'.
Ad esempio, la configurazione per le unità installate dai pacchetti potrebbe essere disponibile in /usr/lib/systemd/system o in /usr/local/lib/systemd/system, mentre è probabile che un'unità di configurazione in modalità utente venga memorizzata in $HOME/.config/systemd/user. Per ulteriori informazioni, consultare la pagina del manuale systemd.unit(5).