SystemD porta il concetto di SystemD unità in Linux. Prua, testa.G., Unità di servizio, unità target, unità di montaggio ecc. sono tipi di unità con estensione del file come .servizio, .bersaglio, .montare rispettivamente. Il file configurazionale che rappresenta queste unità è memorizzato all'interno delle directory:/usr/lib/systemd/system/,/run/systemd/system/system/,/etc/systemd/system/
Le versioni precedenti di Red Hat Enterprise Linux (RHEL) hanno usato gli script INIT. Questi script sono stati scritti in bash e si trovavano nella directory “/etc/rc.d/init.D/". Questi sono script utilizzati per controllare i servizi e i demoni. Più tardi in RHEL 7, sono state introdotte unità di servizio per sostituire gli script INIT. Fedora, che è un sistema operativo a monte di Red Hat Enterprise Linux, ha iniziato a utilizzare SystemD dalla versione 15 di Fedora.
Le unità di servizio hanno .Estensioni dei file di servizio e hanno ruoli simili agli script INIT. "SystemD" utilizza l'utilità "SystemCtl" per gestire i servizi di sistema. Può essere utilizzato per visualizzare, avviare, fermare, riavviare, abilitare o disabilitare questi servizi.
Vantaggi di Systemd sul sistema init
Cosa copriremo?
In questa guida, apprenderemo la gestione dei processi di sistema. Vedremo come abilitare e disabilitare i servizi di avvio all'avvio e come eseguire operazioni di servizio come start, fermata, riavvio, ecc. Abbiamo eseguito gli esercizi di seguito su Fedora 30 Workstations, che saranno più applicabili ad altri sistemi operativi di Linux.
Elenca i servizi di avvio al boot in Fedora Linux
Il vecchio metodo SYSV utilizza il servizio e CHKConfig comandi per gestire i servizi. Questi comandi sono ora sostituiti con i comandi SystemD come SystemCtl. Vediamo alcune delle operazioni di "SystemCtl" su vari servizi di Linux.
1. Per elencare tutti i servizi in esecuzione sul sistema, insieme ai loro stati (abilitati o disabilitati), utilizzare il comando di seguito:
$ sudo systemctl list-unit-files --type = servizio
Un servizio può avere tre stati: 1) abilitato 2) disabilitato 3) statico
Un servizio abilitato ha un collegamento simbolico in un .desidera directory, mentre un servizio disabilitato non ne ha uno. Un servizio statico non ha una sezione di installazione nello script INIT corrispondente. Quindi, non può essere abilitato o disabilitato.
Per ottenere maggiori dettagli sui servizi, il comando seguente dovrebbe essere utilizzato.
$ sudo systemctl -at servizio
Riepilogo dei nomi di colonne sopra:
Unità - Systemd Unit Nome (qui un nome di servizio).
Carico: specificare se l'unità Systemd è stata caricata correttamente o meno.
Active - Stato dell'unità (qui servizio).
Sub - uno stato secondario di un'attivazione unitaria.
Descrizione - Una breve informazione dell'unità.
Possiamo anche usare il seguente comando:
$ sudo ls/lib/systemd/system/*.servizio
O
$ sudo/etc/systemd/system/*.servizio
IL "/Etc/inittab" è ora sostituito da "/Etc/systemd/system/" in SystemD. Questa directory ora contiene i collegamenti simil ai file nella directory “/Usr/lib/systemd/system". Gli script INIT sono inseriti in "/usr/lib/systemd/system". Un servizio deve essere mappato "/Etc/systemd/system/" Per averlo avviato allo stivale del sistema. A tale scopo, il comando SystemCtl viene utilizzato in Fedora e in altri sistemi Linux più recenti.
2. Vediamo l'esempio seguente di abilitare il servizio HTTPD:
$ sudo systemctl abilita httpd.servizio
Inoltre, possiamo utilizzare il comando di seguito per filtrare tutti i servizi abilitati:
$ sudo systemctl list-unt-files | Grep abilitato
o utilizzare il comando:
$ sudo systemctl | grep in esecuzione
3. Per elencare tutti i servizi attivi (in esecuzione), utilizzare il comando:
$ sudo systemctl -t servizio --state = attivo
4. Per vedere quali servizi sono abilitati per avviare automaticamente sullo avvio del sistema, possiamo anche utilizzare il seguente comando:
$ sudo systemctl list-unit-files --type = service --state = abilited --all
5. Allo stesso modo, possiamo controllare i servizi disabilitati per iniziare a avvio con il comando:
$ sudo systemctl list-unit-files --type = service --state = disabled-all
6. Possiamo anche vedere a che ora ogni servizio sta assumendo all'avvio:
$ sudo systemd-analizza la colpa
7. Per verificare se un servizio è abilitato per AutoStart all'avvio, utilizzare il comando:
$ sudo systemctl xxx abilita
Metti il nome del servizio al posto di XXX. E.G., Nel caso del servizio HTTPD, il comando sarà:
$ sudo systemctl httpd.servizio
O
$ sudo systemctl httpd
8. Per verificare lo stato di un servizio, utilizzare il comando:
$ sudo systemctl status xxx.servizio
Ad esempio, per controllare lo stato del servizio SSHD:
$ sudo systemctl status sshd.servizio
9. Per verificare se un servizio è in esecuzione o meno, esegui il comando seguente:
$ sudo systemctl è-attivo xxx.servizio
Ad esempio, per controllare lo stato Telnet:
$ sudo systemctl isactive telnet.servizio
10. Per avviare un servizio morto o inattivo, utilizzare il comando:
$ sudo systemctl avvia xxx.servizio
Ad esempio, per avviare un servizio SSHD:
$ sudo systemctl avvia sshd
11. Per disabilitare un servizio al sistema di avvio del sistema
$ sudo systemctl disabilita xxx
Ad esempio, per disabilitare il servizio HTTPD:
$ sudo systemctl disabilita httpd.servizio
O
$ sudo systemctl disabilita httpd
12. Per riavviare un servizio di esecuzione
$ sudo systemctl riavvio xxx.servizio
Per riavviare il servizio SSHD, utilizzare il comando:
$ sudo systemctl riavvio sshd
Se il servizio non è già in esecuzione, verrà avviato.
13. Per ricaricare un servizio in esecuzione
$ sudo systemctl ricarica xxx.servizio
Ad esempio, ricarica il servizio HTTPD con:
$ sudo systemctl ricarica httpd.servizio
Questo comando ricarica la configurazione di un servizio specifico. Per ricaricare il file di configurazione dell'unità di SystemD, abbiamo bisogno del comando:
$ sudo systemctl demone-ricaricamento
14. Per elencare tutte le dipendenze di un servizio:
$ sudo SystemCtl Elenco dipendenze XXX.servizio
Nel caso del servizio HTTPD, il comando sarà:
$ sudo systemctl elenco-dipendenze httpd.servizio
Conclusione
In questa guida, abbiamo visto vari modi di gestire i servizi con l'utilità Systemd come abilitare i servizi al momento dell'avvio, avviarli e fermarli, ecc. Se sei stato abituato al comando di servizio di Old Sysvinit, dovresti passare a SystemD in quanto ha più funzionalità ed è il sistema INIT predefinito nelle versioni più recenti di Fedora, RHEL e la maggior parte delle altre principali distribuzioni Linux.