Cosa è SystemD?
SystemD Software Suite fornisce le basi per il sistema operativo Debian. Il processo radice nell'albero del processo di Linux è responsabile della gestione di altri processi e applicazioni e viene utilizzato per controllare le applicazioni in modalità a livello di kernel. Ad esempio, eseguire Docker come servizio.
Come utilizzare SystemD per varie attività
Elenca file unità
SystemD impiega "unità" per gestire tutti i servizi di sistema e i processi. Le unità SystemD usano i file di configurazione per governare le loro diverse attività. I file di configurazione dell'unità sono classificati in tre tipi:
"File di configurazione dell'unità predefinita" con file di configurazione contenuti nella directory "/usr/lib/systemd/system"
"File di configurazione dell'unità specifici del sistema" con file di configurazione dell'unità specifici del sistema contenuti in "/etc/systemd/system"
"
"File di configurazione dell'unità di runtime" "con i file di configurazione trovati nella directory" "/run/systemd/system"
Di seguito è riportato il comando per elencare i file unità insieme al loro output
$ SystemCtl List-Unit-Files
Produzione
Stato di file unità
Proc-Sys-fs-binfmt_misc.Automount Static
Dev-Hugepages.montare statico
Dev-mqueue.montare statico
Proc-Sys-fs-binfmt_misc.montare statico
Sys-FS-Fuse-Connections.montare statico
sys-kernel-config.montare statico
sys-kernel-debug.montare statico
tmp.Monte disabili
Brandbot.Percorso disabilitato
Systemd-Ask-Password-Console.percorso statico
Systemd-Ask-Password-Plymouth.percorso statico
Systemd-Ask-Password-Wall.percorso statico
Sessione-1.Ambito statico
ARP-ETHETHERS.Servizio disabilitato
auditd.Servizio abilitato
[email protected] abilitato
Prova a utilizzare il comando Linux Grep per filtrare solo i servizi abilitati.
$ systemctl list-unità-file | Grep abilitato
Produzione
auditd.Servizio abilitato
[email protected] abilitato
Crond.Servizio abilitato
DBUS-ORG.Fedoraproject.Firewalld1.Servizio abilitato
DBUS-ORG.Freedesktop.NM-Dispatcher.Servizio abilitato
firewalld.Servizio abilitato
[email protected] abilitato
IrqBalance.Servizio abilitato
kdump.Servizio abilitato
monitor LVM2.Servizio abilitato
Avvia e interrompe i servizi un servizio
$ sudo systemctl inizia
$ sudo systemctl stop
Di seguito è riportato un esempio dell'esecuzione di un contenitore Docker come servizio.
Per eseguire l'applicazione (chiamiamola "x") come servizio SystemD, crea il seguente file nella directory "/etc/systemd/system" e nominalo come come
'Docker.Some_name.servizio' :
[Unità]
Descrizione = X contenitore
Dopo = Docker.servizio
Desideri = network-online.Docker target.PRESA
Richiede = Docker.PRESA
[Servizio]
Riavvia = sempre
ExecStart =/usr/bin/docker start -a qualche 00
ExectStop =/usr/bin/docker stop -t 10 qualche_name
[Installare]
WANTEDBY = Multi-utente.bersaglio
Per avviare un servizio con un avvio del sistema, utilizzare il seguente comando:
SystemCtl Abilita Docker.Some_name
Utilizzare i seguenti comandi per fermare e avviare manualmente il servizio:
SUD SERVICE STOP Docker.Some_name
Sudo Service Start Docker.Some_name
Controllare lo stato del servizio
Di seguito è riportato il comando per verificare lo stato del servizio in esecuzione.
$ sudo systemctl status
Riavvia un servizio
Puoi anche riavviare un servizio senza bisogno di fermarlo e avviarlo, il che richiede più sforzo. Di seguito è riportato il comando per eseguire questa attività.
$ sudo systemctl riavvia firewalld
Riavvia e arresto
Di seguito sono riportati i comandi per riavviare e chiudere il sistema, rispettivamente. (Come amministratore di sistema, dovresti anche sapere come chiudere il sistema usando una riga di comando)
$ sudo systemctl riavvio
$ sudo systemctl powoff
Avvio dei servizi al momento dell'avvio
Servizi come Docker devono essere avviati non appena la macchina è attivata. Per realizzarlo, puoi menzionare il comando seguente.
$ sudo systemctl abilita firewalld
Prova ad avviare la macchina e noterai che il servizio inizia automaticamente senza interazione umana.
Conclusione
In questo post, abbiamo visto come SystemD potrebbe eseguire le attività di amministrazione e configurazione comuni con la macchina. Un amministratore di sistema può utilizzare i comandi sopra per automatizzare la configurazione dei servizi in esecuzione nella macchina. Assicurati di provare questi comandi con i tuoi servizi personalizzati e realizzare il potere del SystemD.