Che cos'è Systemctl
?
Systemctl
è lo strumento di gestione centrale per il controllo su systemd init
sistema. Pertanto, usi questo comando più spesso per interagire con systemd
sistema. La maggior parte delle distribuzioni Linux® utilizza systemd
come loro init
system, quindi aiuta a familiarizzare con l'uso di systemctl
funzione durante la gestione dei servizi in esecuzione sul tuo sistema Linux.
Gestisci servizi
L'esempio seguente mostra il modello di comando di base per l'utilizzo di systemctl
comando:
systemctl (command) (service)
Questo è diverso dal comando service use a service (service) (comando) format, che utilizza comandi come service httpd reload to reload the Apache service
. Usando questo esempio di nome sotto il systemctl
format, il comando è simile ai seguenti esempi:
Sistemi basati su CentOS® o basati su Red Hat® Enterprise Linux®:
systemctl reload httpd
Sistemi operativi Ubuntu:
systemctl reload apache2
Nota: Non è necessario includere il .service dopo il nome del servizio che desideri gestire.Systemctl è abbastanza intelligente da sapere che stai tentando di utilizzare un servizio quando utilizzi i comandi di gestione del servizio.
Di seguito sono riportati alcuni comuni systemctl
comandi:
- inizia :avvia un servizio che non è attualmente in esecuzione
- fermati :Arresta un servizio attualmente in esecuzione
- riavvia :riavvia un servizio attualmente in esecuzione
- ricarica :esegue un riavvio graduale di un servizio attualmente in esecuzione
- abilita :Abilita l'avvio automatico di un servizio al riavvio del sistema
- disabilita :Impedisce l'avvio automatico di un servizio al riavvio del sistema
- stato :controlla lo stato corrente di un servizio sul tuo sistema
Nota :Il reload
l'opzione non è sempre disponibile. Puoi utilizzare reload-or-restart
invece se non sei sicuro di reload
disponibilità. Usando reload-or-restart
tenta di utilizzare reload
prima, e usa restart
se reload
non è disponibile.
Di seguito sono riportate alcune opzioni meno comuni:
- è attivo :controlla se un'unità è attualmente attiva (in esecuzione)
- è abilitato :controlla se un servizio è abilitato o disabilitato
- non è riuscito :controlla se un servizio è in non riuscito stato
- unità-elenco :controlla tutte le unità che
systemd
considera attualmente attivo sul sistema
Il comando list-units
Le list-units
l'opzione visualizza una tabella con le seguenti colonne:
- UNITÀ :Il nome dell'unità (o servizio) di sistema
- CARICA :il servizio attualmente caricato in systemd
- ATTIVO :un riepilogo se il servizio è attualmente attivo
- SUB :fornisce alcuni dettagli in più sullo stato attuale del servizio
- DESCRIZIONE :una breve descrizione di cosa è o fa il servizio
Aggiunta di --all
argomento per list-units
systemctl
comando include qualsiasi servizio che systemd
caricato o tentato di caricare indipendentemente dal suo stato corrente sul sistema, come mostrato nell'esempio seguente:
systemctl list-units --all
Puoi usare list-units
Il comando può essere utilizzato in alcuni modi aggiuntivi, ad esempio aggiungendo il --state=
filtro, come mostrato nell'esempio seguente:
systemctl list-units --all --state=(filter)
In genere, utilizzi questa opzione per filtrare i risultati in base allo stato corrente del servizio, sia active
o inactive
,come mostrato nell'esempio seguente:
systemctl list-units --all --state=inactive
Puoi filtrare ulteriormente i risultati aggiungendo il seguente argomento:
systemctl list-units --type=(filter)
Questa opzione dice a systemctl
per elencare solo i servizi del tipo specificato. Ad esempio, sostituendo (filter)
con(service)
nel comando precedente elenca solo le unità di servizio attive.
Allo stesso modo, puoi usare il comando systemctl list-units-files
elenca tutti i file di unità disponibili all'interno di systemd
percorso, compresi quelli che systemd
non ha provato a caricare.
Il comando maschera
Se devi impedire l'avvio di un servizio, manualmente o automaticamente, puoi utilizzare la mask
comando con systemctl
.Ad esempio, si supponga di voler assicurarsi che Apache® non venga eseguito. Se non stai eseguendo come root, devi inserire sudo
comando davanti al comando. In caso contrario, il comando è simile al seguente esempio:
systemctl mask httpd.service
o
systemctl mask apache2.service
Quando vuoi deselezionare il servizio, sostituisci la precedente mask
con unmask
e il servizio può ricominciare.
Conclusione
Sebbene ci siano usi più avanzati di systemctl
utility, queste sono le opzioni di utilizzo che utilizzerai più spesso. Ora hai familiarità con gli usi più comuni di systemctl
quando si interagisce con systemd
. Systemctl
è il tuo metodo di interazione principale per la gestione dei servizi.