Crea sito
22 Ottobre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR INFORMATICO

LINUX: systemctl – Come elencare, avviare e arrestare i servizi all’avvio in Linux Ubuntu / Debian

5 min read
8 / 100

I servizi, noti anche come daemon, sono script e programmi che vengono eseguiti in background. Questi servizi, che non richiedono input da parte dell’utente, possono fornire molte funzionalità come i servizi di database (comeMySQL) o servizi di server web (come Tomcat) ecc …

Nel tempo, tuttavia, il numero di servizi può aumentare notevolmente e gli utenti potrebbero trascurare quali applicazioni sono attualmente in esecuzione.

Conoscere i servizi che si avviano all’avvio è quindi utile, ad esempio, se hai notato che il tuo sistema funziona lentamente. Alcuni servizi in background non necessari potrebbero consumare RAM aggiuntiva e memorie SWAP, nonché potenza della CPU, il che lascia meno spazio per programmi importanti. Eliminare questi servizi “spazzatura” o impedirne l’avvio all’avvio potrebbe “alleviare” il sistema e migliorarne le prestazioni.

In questo breve tutorial imparerai come visualizzare tutti i servizi di avvio di Ubuntu all’avvio e come avviarli e interromperli.

Elenca i servizi di avvio al momento dell’avvio

Ci sono molte opzioni che ci consentono di vedere l’elenco dei servizi al momento dell’avvio. Descriveremo di seguito gli strumenti più comunemente utilizzati.

1 – systemctl

systemctl è l’utilità di gestione centrale che controlla il sistema systemd, gestisce i servizi ed esamina lo stato del sistema.
Per elencare tutti i servizi insieme ai loro stati corrispondenti utilizzando systemct, apri il tuo terminale e digita il comando seguente:

systemctl -at service

systemctl Ubuntu

Ora per individuare solo quei servizi che sono attivi, vai avanti ed esegui il comando seguente:

systemctl -t servizio –state = attivo

Per i servizi abilitati, tuttavia, è necessario richiamare il comando seguente:

systemctl list-unit-files –state = enabled

In alternativa al comando sopra, è anche possibile utilizzare il comando grep come segue:

systemctl list-unit-files | grep abilitato

Per visualizzare l’elenco di tutte le unità di servizio attualmente caricate, digitare il comando seguente:

systemctl list-units –type service

Questo comando visualizza, per ogni file di unità di servizio, il suo nome completo (UNIT), il suo stato caricato (LOAD), lo stato di attivazione del file di unità di alto livello (ATTIVO) seguito dallo stato di attivazione del file di unità di basso livello (SUB) e infine un breve descrizione (DESCRIPTION).

Il comando ‘systemctl list-units’ mostra, per impostazione predefinita, solo le unità attive. Per visualizzare un elenco di tutte le unità caricate (tutti gli stati), è possibile eseguire questo comando con le opzioni della riga di comando –all o -a come segue:

systemctl list-units –type service –all

Servizi avviati prima di un determinato servizio

Per scoprire i servizi che hanno ordinato di avviarsi prima di un determinato servizio, digita il seguente comando nel terminale:

systemctl list-dependencies –dopo ssh.service

Servizi di avvio di Ubuntu 

Dove puoi vedere i servizi ordinati per l’avvio prima del servizio denominato ssh nell’istantanea sopra.

Servizi avviati dopo un determinato servizio

Per determinare i servizi che hanno ordinato dopo un servizio specificato (ssh qui), eseguire il seguente comando:

systemctl list-dependencies prima di ssh.service

2 comando di servizio

L’utilità di comando “service” consente di avviare, riavviare e arrestare i demoni e altri servizi in Linux. Per visualizzare l’elenco di tutti i servizi, eseguire il comando seguente:

servizio –stato-tutto

Servizi di elenchi di Ubuntu

3 – Verifica dello stato di abilitazione di un servizio specifico

Per verificare se un servizio specifico è stato abilitato all’avvio, è possibile eseguire la seguente sintassi:

systemctl è abilitato {service_name}

systemctl è abilitato service_name.service

qui il nome del servizio è ssh.

4 – Verifica dello stato di un servizio specifico

Per vedere lo stato di un dato servizio (viene fornito anche il flag di abilitazione come evidenziato di seguito), è possibile eseguire i seguenti comandi:

stato systemctl {service_name}

stato systemctl nome_servizio.servizio

In alternativa al comando precedente, potresti anche utilizzare il comando seguente:

systemctl list-unit-files -type servizio

La tabella seguente mostra le informazioni sulle unità di servizio:

Abilitazione di un servizio specifico all’avvio

È possibile abilitare un singolo servizio utilizzando uno dei comandi seguenti:

sudo systemctl abilita {service_name}

sudo systemctl abilita nome_servizio.service

Disattivazione di un servizio specifico all’avvio

Proprio come abilitare un servizio, systemctl è anche in grado di disabilitare un servizio utilizzando uno dei comandi seguenti:

sudo systemctl disabilita {service_name}

sudo systemctl disabilita nome_servizio.service

La disabilitazione di un servizio impedisce l’avvio automatico di esso (la sua unità di servizio) all’avvio.

Questo leggerà la sezione [Installa] dell’unità di servizio specifica e cancellerà i collegamenti simbolici appropriati al file / usr / lib / systemd / system / name .service dalla directory / etc / systemd / system / e dalle sue sottodirectory. Inoltre, potresti mascherare qualsiasi unità di servizio per impedire che venga avviata da un altro servizio o manualmente. Per farlo, esegui il seguente comando come root:

systemctl mask name.service

Interruzione di un servizio specifico

L’arresto di uno specifico servizio attivo può essere ottenuto tramite uno dei comandi seguenti (linux stop service):

sudo systemctl stop {service_name}

sudo systemctl stop service_name.service

Avvio e riavvio di un servizio specifico

L’avvio di uno specifico servizio inattivo può essere eseguito tramite uno dei comandi seguenti:

sudo systemctl start {service_name}

sudo systemctl start service_name.service

Per il riavvio:

sudo systemctl riavvia {service_name}

sudo systemctl riavvia nome_servizio.service

Visualizzazione di messaggi / registri di errore dei servizi

Per controllare messaggi di errore o log relativi ai servizi, eseguire uno dei comandi seguenti:

journalctl -u {service_name}

o in alternativa:

journalctl -u service_name.service

Avvio di un servizio in conflitto

Esistono dipendenze sia negative che positive tra i servizi in systemd. L’avvio di un servizio specifico può dipendere da uno o più altri servizi (.ie dipendenza positiva). La dipendenza negativa è simile ma la dipendenza è correlata all’arresto di uno o più servizi.

Quando si tenta di avviare un nuovo servizio, tutte le dipendenze vengono risolte automaticamente da systemd. L’utente non viene avvisato (esplicitamente) in questo caso. Nel caso in cui un servizio sia già in esecuzione e contemporaneamente si provi ad avviare un altro servizio che ha una dipendenza negativa, il primo servizio in questo caso verrà automaticamente interrotto.

Ad esempio, se il servizio postfix è già in esecuzione e si tenta di avviare il servizio sendmail, systemd prima interromperà automaticamente il primo servizio, cioè postfix, poiché questi due servizi sono in conflitto poiché non possono essere eseguiti sulla stessa porta.

Confronto di systemctl con lo strumento di servizio

Translate »