web analytics

[Guida] Systemctl: gestire i servizi con Linux e Systemd

systemctl systemd

Abbiamo di recente parlato delle future evoluzioni di Systemd, il processo di avvio del sistema che sta diventando il nuovo standard nel mondo GNU/Linux. In questa nuova mini-guida parliamo della gestione dei servizi tramite il comando systemctl, principale tool per il controllo del sistema init.

Systemctl è il management tool di Systemd

init, in un sistema operativo Unix, è il primo processo che viene eseguito dal kernel dopo la  fase di bootstrap. Esso ha il compito di avviare tutti gli altri processi rendendo pienamente operativo il sistema. init è anche necessario per gestire i servizi e i demoni di sistema, ed è proprio quello di cui andremo a parlare. Ultima nota prima di iniziare: systemd gestisce i componenti definendoli come unità, catalogati in unit file nella forma nome.tipo, anche se non è indispensabile riportare l’estensione nei comandi.

systemctl systemd all

Controlliamo quali sono i servizi attualmente attivi sul nostro sistema con il comando systemctl list-units – -all. Aprirà una schermata del lettore less, possiamo avanzare di una pagina alla volta utilizzando CTRL+F, e chiudere l’applicazione con q. Per cercare una corrispondenza utilizziamo la sintassi /nome.tipo. Ad esempio, nello screenshot vediamo lo stato del servizio apache2.service, che utilizzeremo come esempio. La prima colonna è il nome dell’unità, la seconda ci informa se la configurazione è stata caricata o meno, la terza se è attivata correttamente.

Se passiamo adesso alla gestione dei singoli servizi, i comandi principali sono abbastanza semplici da capire e sono:

sudo systemctl start apache2
sudo systemctl stop apache2
systemctl status apache2

systemctl status

Questo tipo di comandi è utile per avviare o fermare un servizio a sistema avviato. Se invece vogliamo gestire l’avvio del programma nella fase di boot possiamo utilizzare le seguenti istruzioni:

sudo systemctl enable apache2
sudo systemctl disable apache2

Abilitare un servizio all’avvio, implica che systemctl crearà un link simbolico allo stesso, nella cartella utilizzata da Systemd per l’autostart (di solito /etc/systemd/system/). Viceversa disabilitare il servizio rimuoverà questo link.

sharing-caring-1Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.