Se sei un utente o un amministratore Linux, devi sapere come gestire i servizi sul tuo sistema. I servizi sono programmi che vengono eseguiti in background e forniscono funzionalità essenziali, come il collegamento in rete, la stampa, la registrazione e altro ancora.
Ma come si elencano, avviano, arrestano, abilitano, disabilitano o riavviano i servizi su Linux? La risposta è il comando systemctl. Questo comando fa parte di systemd, un moderno sistema e gestore di servizi per distribuzioni Linux come Ubuntu e Debian.
Sommario
Se sei un principiante di Linux e desideri gestire questi servizi utilizzando systemctel, segui i passaggi seguenti.
Elenca tutti i servizi con systemctl
Per elencare tutti i servizi sul tuo sistema Linux, esegui questo comando nel terminale:
sudo systemctl list-units –type service
Questo ti mostrerà una tabella con cinque colonne: UNIT, LOAD, ACTIVE, SUB e DESCRIPTION.
La colonna UNIT mostra il nome del file dell’unità di servizio, che è il file di configurazione e definizione del servizio. Questo file contiene informazioni su cosa fa il servizio e su come gestirlo. È inoltre possibile visualizzare un rapido descrittore del servizio nella colonna DESCRIZIONE.
La colonna LOAD mostra se il file dell’unità di servizio è caricato in memoria. La colonna ATTIVO mostra se si tratta di un servizio in esecuzione o meno. Infine, la colonna SUB mostra lo stato secondario del servizio, ad esempio in esecuzione, terminato o non riuscito.
Puoi anche usare l’opzione-a o –all invece di –type service per elencare tutti i tipi di unità, non solo i servizi.
Elenca i servizi attivi con systemctl
Se desideri visualizzare solo i servizi attualmente attivi (in esecuzione) sul tuo sistema, esegui questo comando nel terminale Linux:
sudo systemctl list-units –type service –state active
Questo filtrerà i servizi che sono inattivi (arrestati) o falliti.
Elenca servizi inattivi con systemctl
Allo stesso modo, se vuoi vedere solo i servizi che sono attualmente inattivi (interrotti) sul tuo sistema, esegui questo comando nel terminale:
sudo systemctl list-units –type service –state inactive
Questo filtrerà i servizi che sono attivi (in esecuzione) o falliti.
Elenca i servizi non riusciti con systemctl
Se vuoi vedere i servizi che non si sono avviati o arrestati sul tuo sistema, apri il terminale ed esegui questo comando:
sudo systemctl list-units –type service –state failed
Questo filtrerà tutti i servizi attualmente attivi (in esecuzione) o inattivi (arrestati).
Elenca i servizi abilitati con systemctl
Per vedere quali servizi sono abilitati per l’avvio automatico all’avvio del tuo sistema, esegui questo comando nel terminale:
sudo systemctl list-unit-files –type service –state enabled
Questo ti mostrerà una tabella con due colonne: UNIT FILE e STATE. La colonna UNIT FILE mostra il nome del file dell’unità di servizio. La colonna STATO mostra se il servizio è abilitato o meno.
Elenca i servizi disabilitati con systemctl
Per vedere quali servizi sono disabilitati e non si avviano automaticamente all’avvio del tuo sistema, apri il tuo Linux terminale ed esegui questo comando:
sudo systemctl list-unit-files –type service –state disabled
Questo filtrerà i servizi che sono abilitati o mascherati.
Mostra i dettagli di un servizio con systemctl
Per mostrare maggiori dettagli su un servizio specifico sul tuo sistema, esegui questo comando nel terminale:
sudo systemctl status
Sostituisci
Questo mostrerà informazioni come la descrizione, lo stato di caricamento, lo stato attivo, lo stato secondario, l’ID processo (PID), l’utilizzo della memoria, l’utilizzo della CPU e il servizio recente log.
Puoi anche utilizzare il sottocomando show invece di status per visualizzare tutte le proprietà del servizio in un formato nome=valore.
Avvia un servizio con systemctl
Per avviare un servizio che è stato arrestato sul tuo sistema, esegui questo comando nel tuo terminale Linux:
sudo systemctl start
Sostituisci
Questo avvierà il servizio nel sfondo e tornare al prompt. È possibile utilizzare il sottocomando status per verificare che il servizio sia in esecuzione.
Arresta un servizio con systemctl
Per arrestare un servizio in esecuzione sul tuo sistema, esegui questo comando nel terminale:
sudo systemctl stop
Sostituisci
Questo interromperà il servizio in background e torna al prompt. È possibile utilizzare il sottocomando status per verificare che il servizio sia stato arrestato.
Riavvia un servizio con systemctl
Vuoi modificare e ricaricare il file di configurazione di un servizio e applicare le modifiche? In tal caso, dovrai riavviare il servizio in seguito.
Per riavviare un servizio in esecuzione sul tuo sistema, apri il tuo terminale ed esegui questo comando:
sudo systemctl restart
Sostituisci
Questo fermerà e avvierà il servizio in background e tornerà al prompt. È possibile utilizzare il sottocomando status per verificare che il servizio sia in esecuzione.
Ricarica un servizio con systemctl
Alcuni servizi supportano il ricaricamento della loro configurazione senza arrestarsi e avviarsi. Il ricaricamento di un servizio consente di apportare modifiche minori ai file di configurazione di quel servizio senza riavviarlo. Questo è più veloce e meno dirompente rispetto al riavvio.
Per ricaricare un servizio che supporta questa funzione, utilizzare il seguente comando systemctl nel terminale:
sudo systemctl reload
Sostituisci
Questo ricaricherà il servizio in background e tornerà al prompt. È possibile utilizzare il sottocomando status per verificare che il servizio sia in esecuzione.
Abilita un servizio con systemctl
Per abilitare l’avvio automatico di un servizio all’avvio del tuo sistema, esegui questo comando nel terminale:
sudo systemctl enable
Sostituisci
Questo creerà un collegamento simbolico dal file dell’unità di servizio a una posizione in/etc/systemd/system, che dice a systemd di avviarlo all’avvio.
Puoi anche utilizzare l’opzione –now per abilitare e avviare un servizio contemporaneamente. Ad esempio:
sudo systemctl enable –now
Disabilitare un servizio con systemctl
Per disabilitare un service dall’avvio automatico all’avvio del sistema, esegui questo comando nel terminale Linux:
sudo systemctl disable
Sostituisci
Questo rimuoverà il collegamento simbolico da/etc/systemd/system, che dice a systemd di non avviarlo all’avvio.
Puoi anche usare l’opzione –now per disabilitare e fermare un servizio allo stesso tempo:
sudo systemctl disable –now
Elencare i servizi mascherati con systemctl
Mascherare un servizio significa collegare il suo file unit a/dev/null, che ne impedisce il caricamento o la manipolazione da parte di systemd. Questo aggiunge un ulteriore livello di protezione.
Per vedere quali servizi sono mascherati e non possono essere avviati o arrestati manualmente o automaticamente sul tuo sistema, esegui questo comando nel terminale del tuo PC Linux:
sudo systemctl list-unit-files –type service –state masked
L’elenco dei servizi mascherati apparirà in un elenco (con masked elencato sotto la colonna STATO)
Maschera un Service With systemctl
Esegui questo comando nel terminale per impedire che un servizio venga avviato, arrestato manualmente o automaticamente sul tuo sistema:
sudo systemctl mask
Sostituisci
Questo creerà il collegamento simbolico dall’unità di servizio file in/dev/null per evitare che venga caricato o manipolato da systemd.
Smascherare un servizio con systemctl
Puoi smascherare un servizio che è stato precedentemente mascherato. Questo rimuoverà il collegamento simbolico a/dev/null e consentirà di utilizzarlo e caricarlo altrove.
Per smascherare un servizio precedentemente mascherato sul tuo sistema, esegui questo comando:
sudo systemctl unmask
Sostituisci
Controllo del tuo PC Linux
Se il tuo PC Linux utilizza systemd per gestire i servizi di sistema, puoi utilizzare il comando systemctl per gestirli. Puoi avviare, arrestare, ricaricare, disabilitare e controllare i tuoi servizi, offrendoti un maggiore controllo sul tuo PC Linux.
Un altro modo per gestire il tuo PC è limitare l’accesso a determinati file. Puoi utilizzare il comando chmod sul tuo PC Linux per consentire (o impedire) l’accesso.
Non sei sicuro che la tua distribuzione Linux sia adatta? Dovresti invece provare un’altra distribuzione Linux di alto livello, o anche provare una distribuzione Linux portatile. L’utilizzo di una distribuzione portatile ti consentirà di passare da una all’altra con facilità.