Come utilizzare l'utilità SystemCtl in Linux

Come utilizzare l'utilità SystemCtl in Linux
Che tu sia un amministratore di sistema esperto o un nuovo utente Linux, la gestione dei servizi è una delle operazioni fondamentali che dovrai eseguire. Quindi, avere una solida comprensione di come funzionano i servizi e come gestirli è un grande vantaggio.

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.

  • .servizio - I file dell'unità di servizio definiscono come SystemD gestisce un servizio. In genere finiscono .Estensione del servizio. I file dell'unità di servizio descrivono come avviare, arrestare, ricaricare e riavviare un servizio e le dipendenze necessarie per gestire il servizio.
  • .bersaglio - Le unità target forniscono punti di sincronizzazione ad altri servizi durante l'avvio.
  • .fetta - I file delle unità a fessura codificano le informazioni sulle unità di shelt systemd. Le unità a fessura fanno parte dell'albero del gruppo di controllo Linux che consente l'allocazione delle risorse e la restrizione ai processi associati a una fetta. Puoi saperne di più sul controllo delle risorse SystemD qui.
  • .PRESA - Un file di unità socket codifica le informazioni su Socket Network Socket, IPC o un buffer FIFO del file system controllato e gestito per SystemD, che SystemD utilizza per l'attivazione basata sul socket.
  • .dispositivo - Configurazioni dell'unità dispositivo Definire un'unità dispositivo come esposta nell'albero del dispositivo SYSFS/UDEV.
  • .Timer - Le unità del timer definiscono un timer gestito e controllato da SystemD per l'attivazione programmata.
  • .istantanea - I file dell'unità snapshot consentono il rollback dello stato corrente del sistema dopo aver apportato modifiche. Li creiamo utilizzando il comando systemd snapshot.
  • .scambio - Le unità di scambio codificano informazioni sullo spazio di swap, come il nome del dispositivo o il percorso dello spazio di swap.
  • .montare - I file dell'unità di montaggio codificano le informazioni sui punti di montaggio nel sistema gestiti da SystemD.
  • .Automount - Questi sono file unitari che definiscono i punti di montaggio che vengono montati automaticamente.

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.

  • UNITÀ - La prima colonna è l'unità.'Questo mostra il nome del file dell'unità.
  • CARICO - Questo mostra se la definizione dell'unità carica correttamente.
  • ATTIVO - Questo mostra lo stato di attivazione di alto livello.
  • SUB - Questo mostra lo stato di attivazione di basso livello. I valori in questa colonna dipenderanno dal tipo di unità.
  • DESCRIZIONE - La descrizione del file dell'unità.

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.