Systemctl è un'utilità del sistema operativo Linux utilizzata per gestire servizi o demoni. È una delle utility principali nei sistemi che utilizzano il sistema di init systemd. Systemd è uno strumento per la gestione di processi e servizi e comprende systemd init, un gestore di unità e altri componenti.
Cosa fa l'utility
L'utilità systemctl in Linux è lo strumento principale per la gestione dei servizi sul sistema ed è responsabile dei seguenti compiti:
- Avvio e arresto dei servizi: consente di avviare e arrestare un servizio specifico sul sistema. Ad esempio, il comando
"systemctl start apache2" avvierà il server web Apache e"systemctl stop apache2" lo arresterà. - Riavvia servizi: consente anche di riavviare i servizi. Ad esempio, il comando
"systemctl restart apache2" riavvia il server web Apache. - Controllare lo stato dei servizi: fornisce informazioni sullo stato attuale dei servizi in esecuzione. Il comando
"systemctl status apache2" fornisce informazioni sullo stato del server web Apache, ad esempio se è attivo, su quali porte è in ascolto e altre informazioni di debug. - Controllo dell'avvio automatico dei servizi: consente di configurare se un particolare servizio verrà avviato automaticamente all'avvio del sistema. Il comando
"systemctl enable apache2" abilita l'avvio automatico del server web Apache a ogni avvio del sistema.
Come si usa?
Per utilizzare systemctl, è necessario accedere alla riga di comando di Linux. Ecco alcuni comandi di base e come utilizzarli:
- Avviare un servizio:
systemctl start <servizio>- il comando consente di avviare il servizio specificato. Per avviare il servizio Apache HTTP Server, è necessario eseguiresystemctl start apache2. - Arresto di un servizio:
systemctl stop <service>- il comando arresta il servizio specificato.systemctl stop apache2arresta Apache HTTP Server. - Riavviare il servizio: systemctl
restart <service>- riavvia. systemctl restart apache2 riavvia Apache HTTP Server. - Riavviare il servizio:
systemctl reload <service>- riavvia il servizio. La differenza tra riavvio e ricarica è che il riavvio arresta e poi riavvia il servizio, mentre la ricarica lo riavvia, senza arrestarlo completamente. - Controllare lo stato di un servizio:
systemctl status <service>- il comando mostra lo stato attuale del servizio specificato.
Parliamo poi della configurazione del servizio.
Come configurare
I comandi di base per configurare e utilizzare systemctl.
Avvio del servizio:
sudo systemctl start <service_name>
Arresto del servizio:
sudo systemctl stop <service_name>
Riavvio del servizio:
sudo systemctl restart <service_name>
Abilitazione dell'autorun del servizio all'avvio del sistema:
sudo systemctl enable <service_name>
Disabilitazione dell'esecuzione automatica del servizio all'avvio del sistema:
sudo systemctl disable <service_name>
Controllare lo stato di un servizio:
sudo systemctl status <service_name>
Visualizzazione di un elenco di tutti i servizi disponibili:
sudo systemctl list-unit-files --type=service
Visualizzazione del registro dei servizi:
sudo journalctl -u <service_name>
Visualizzazione delle voci più recenti del registro di sistema:
sudo journalctl -xe
Riavvio del sistema:
sudo systemctl reboot
Spegnimento del sistema:
sudo systemctl poweroff
Ricordare che per eseguire i comandi systemctl potrebbero essere necessari i privilegi di superutente (sudo). Assicurarsi di specificare il nome corretto del servizio quando si utilizzano questi comandi.