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 con il nome del file dell’unità di servizio che vuoi controllare.

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 con il nome del file dell’unità di servizio che desideri avviare

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 con il nome del file dell’unità di servizio che desideri interrompere

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 con il nome del file dell’unità di servizio che desideri riavviare.

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 con il nome del file dell’unità di servizio che si desidera ricaricare.

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 con il nome del file dell’unità di servizio che desideri abilitare.

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 con il nome del file dell’unità di servizio che si desidera disabilitare.

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 con il nome del file dell’unità di servizio che vuoi mascherare.

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 con il nome del file dell’unità di servizio che si desidera smascherare.

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à.

Categories: IT Info