Questo tutorial ti guida attraverso le basi della gestione dei servizi in Linux e come utilizzare SystemCtl per gestire i servizi, ottenere informazioni sulle unità di sistema e ottenere informazioni utili sullo stato dei servizi nel sistema.
Cos'è SystemCtl?
SystemCtl è un'utilità di linea di comando Linux utilizzata per controllare e gestire SystemD e Services. Puoi pensare a SystemCtl come un'interfaccia di controllo per il servizio SystemD init, che consente di comunicare con SystemD ed eseguire operazioni.
SystemCtl è un successore di init.sistema d; Contiene librerie, demoni e utility che è possibile utilizzare per gestire i servizi nel sistema Linux.
Cos'è un servizio/unità?
In linguaggio SystemD, un servizio o un'unità è una risorsa o un oggetto SystemD è a conoscenza e sa come affrontare.
Sebbene sia tecnicamente corretto classificare un'unità come servizio, in SystemD, le unità tendono ad essere più astratte e spesso composte da pool di risorse, supporti per filesystem, protocolli di rete, dispositivi e servizi Linux nativi.
Le unità sono definite in un file noto come file unità. SystemD può gestire i file unitari da qualsiasi posizione, ma la loro posizione principale è/ecc/directory di sistema/sistema. I file unitari in questa directory sono principalmente forniti dall'utente. Rispetto ad altre posizioni, il gestore SystemD assegnerà una maggiore precedenza ai file unitari all'interno della directory sopra.
NOTA: È inoltre possibile trovare file unitari situati nella directory/lib/systemd/system, che contiene file unitari forniti dal sistema e pacchetti installati. Assicurarsi di controllare entrambe le posizioni durante la modifica di un file unitario.
Tipi di unità di sistema
I file unitari sono etichettati con un suffisso nel file unitario, che danno all'amministratore un'indicazione del suo scopo in base al suffisso.
I seguenti sono i file unitari trovati in SystemD.
Questi sono alcuni dei file unitari gestiti da SystemD. In genere, questi file unitari in un sistema lavorano a stretto contatto per gestire il sistema, i servizi, i demoni e altre risorse nel sistema.
NOTA: Ci sono altri file unitari, ma non dovrai preoccuparti molto di loro, a meno che non ti stia immergendo in profondità nel kernel.
Elenca file unità
Per visualizzare i file unitari disponibili nel sistema, è possibile elencare i file in/lib/systemd/system o/etc/systemd/system.
Fortunatamente, SystemD ha un comando per questo. Possiamo eseguire il comando:
$ sudo systemctl unità elenco
L'esecuzione di questo comando mostrerà le unità disponibili nel sistema.
Per filtrare solo i file unitari specifici, è possibile utilizzare l'opzione -ype = [unità di tipo]. Ad esempio, per mostrare i file di unità di servizio, utilizziamo il comando:
$ sudo systemctl list-unts --type = servizio
Ecco un esempio di esempio:
L'output dal comando systemctl list-unts utilizza un metodo organizzativo basato su colonna.
Ecco cosa rappresenta ogni colonna.
Puoi anche filtrare le unità dei loro stati. Ad esempio, per mostrare solo unità inattive, usa il comando:
$ sudo systemctl list -unts -state = inattivo
Quanto sopra mostra unità inattive (o sub). La maggior parte delle unità in questo stato viene avviata prima delle sessioni dell'utente; Includono Plymouth, Network Activations Service, Modalità di salvataggio, DB manuale e molti altri.
Per mostrare tutti i file unitari nel sistema, è possibile aggiungere ogni opzione al comando elenco.
$ sudo systemctl elency -unt -tutto
È possibile scorrere l'elenco delle unità disponibili premendo il tasto Space.
Come visualizzare i contenuti del file unitario
Per visualizzare le voci e la configurazione in un file unità, è possibile dire a SystemD di chiamare il comando CAT e il nome dell'unità.
Ad esempio, per mostrare il contenuto dell'unità Plymouth, usa il comando
$ sudo systemctl cat plymouth
Questo comando scaricherà il contenuto del file come mostrato di seguito:
Come modificare i file unitari
Per modificare i file dell'unità, è possibile utilizzare il comando systemd seguito dall'opzione di modifica e dal nome dell'unità.
$ sudo systemctl modifica plymouth
Il comando avverrà l'editor di testo nano, consentendo di modificare il file dell'unità specificato.
NOTA: Se non necessario, EVITARE Modifica di file di unità critiche fornite dal sistema.
Gestione dei servizi con SystemCtl
File unità che si terminano con .Il servizio è facile da gestire utilizzando l'utilità Systemd, SystemCtl. Le seguenti sono operazioni che possiamo eseguire con SystemCtl.
Come avviare i servizi
Per avviare un servizio con SystemCtl, chiamiamo il comando:
$ sudo systemctl avvia nginx.servizio
Nel comando sopra, abbiamo detto a SystemD di avviare il servizio NGINX utilizzando NGINX.File dell'unità di servizio.
Passare il suffisso del file unitario completo con SystemCtl non è un requisito. È possibile utilizzare il nome del servizio, come ad esempio:
$ sudo systemctl avvia nginx
Nella maggior parte delle unità di servizio, non vi è alcun output se il servizio inizia correttamente. Tuttavia, se si verifica un errore, SystemD visualizzerà l'errore e il codice di stato.
Come fermare i servizi
Per fermare un servizio, utilizzare l'argomento STOP nel comando SystemCtl
$ sudo systemctl stop nginx
Allo stesso modo, l'operazione di arresto non fornisce un output al completamento con successo.
Come ricaricare i servizi
Ricaricare un servizio funziona interrompendo i processi del lavoratore, applica le modifiche alla configurazione e riavvia i processi del lavoratore. Ciò non chiude il servizio stesso stesso.
Questa funzione può essere utile in cui i servizi devono essere online, come nel caso di database e server Web.
Per ricaricare un servizio in SystemCtl, utilizziamo il comando:
$ sudo systemctl ricarica nginx
Come riavviare i servizi
D'altra parte, il riavvio chiuderà il servizio e i processi del lavoratore e li riavverà. Il processo di riavvio può causare alcuni tempi di inattività, rendendolo molto applicabile durante la risoluzione dei problemi.
Per riavviare un servizio, utilizzare il comando:
$ sudo systemctl riavvio nginx
Come abilitare i servizi all'avvio
Se si desidera eseguire un servizio specifico durante l'avvio del sistema, è possibile utilizzare il comando Abilita.
Per esempio:
$ sudo systemctl abilita nginx
Il comando sopra, tuttavia, non consente il servizio durante una sessione attiva. Per fare questo, aggiungi la bandiera -wow.
$ sudo systemctl abilita nginx --wow
Se si desidera abilitare un servizio personalizzato creato, assicurarsi che SystemD possa accedere al file unitario. Non archiviare il file unità in /home directory. Per i file unitari personalizzati, assicurati di posizionarli in/etc/systemd/system.
Come controllare lo stato del servizio
Per verificare lo stato di un servizio in SystemD, utilizzare il comando di stato:
$ sudo systemctl status nginx
Questo comando mostrerà lo stato corrente del servizio. L'immagine seguente mostra un servizio NGINX attivo
Se un servizio viene interrotto, otterrai un output simile a quello mostrato di seguito:
Conclusione
In questa guida, abbiamo discusso dei concetti di file systemd e unità. SystemD è una parte critica di Linux e le principali distribuzioni Linux hanno ora adottato il suo uso. Pertanto, sapere come amministrare e gestire può essere molto vantaggioso.