Introduzione
Le moderne distribuzioni Linux sono dotate del sistema di inizializzazione systemd che consente agli utenti di gestire i servizi con il systemctl
comando.
Tuttavia, alcuni sistemi precedenti utilizzano ancora System V o Upstart. In tal caso, utilizza il chkconfig
comando per elencare, avviare e interrompere i servizi, nonché per abilitare o disabilitare i servizi dall'avvio.
Questa guida ti mostrerà come utilizzare il chkconfig
comando per controllare i servizi di sistema in Linux.
Prerequisiti
- Un sistema che esegue System V o Upstart.
- Accesso al terminale/riga di comando.
- Accesso a un account con privilegi di root o sudo.
La sintassi del comando chkconfig
Il chkconfig
la sintassi del comando è simile a questa:
chkconfig [options] [service] [subcommand]
Il comando funziona da solo ma può essere utilizzato anche con:
- Il
--list
,--level
,--add
,--del
e--override
opzioni specificate prima del nome del servizio. Le opzioni stampano i dettagli o gestiscono il servizio in questione. - Il
on
,off
,reset
oresetpriorities
sottocomandi aggiunti dopo il nome del servizio. I sottocomandi modificano le informazioni di avvio per il servizio specificato.
Le opzioni del comando chkconfig
Esecuzione del chkconfig
comando senza opzioni restituisce la configurazione corrente di tutti i servizi:
Tuttavia, l'esecuzione del comando con diverse opzioni e sottocomandi consente agli utenti di gestire i servizi invece di elencarli solo. La tabella seguente mostra le opzioni e i sottocomandi utilizzati con il chkconfig
comando:
Opzione | Descrizione |
---|---|
--list | Visualizza tutti i servizi e il loro stato di avvio corrente in ogni runlevel. |
--list | sort | Ordina i servizi in ordine alfabetico e li visualizza con il loro stato di avvio corrente in ogni runlevel. |
--list | grep on | Mostra solo i servizi in esecuzione e il loro stato di avvio corrente in ogni runlevel. |
--list | grep off | Mostra solo i servizi disabilitati in uno o più runlevel e il loro stato di avvio corrente in ogni runlevel. |
--list | grep --level <levels>:on | Specifico del livello:stampa i servizi in esecuzione in un particolare runlevel. |
--list | grep --level <levels>:off | Specifico del livello:stampa i servizi disabilitati in un determinato runlevel. |
--list [service] | Emette lo stato di un particolare servizio in ogni runlevel. |
[service] on | Abilita l'avvio di un servizio all'avvio del sistema. |
[service] off | Disabilita l'avvio di un servizio all'avvio del sistema. |
--level <levels> [service] on | Attiva un particolare servizio in uno o più runlevel. |
--level <levels> [service] off | Disattiva un particolare servizio in uno o più runlevel. |
--add [service] | Aggiunge un servizio all'avvio in tutti i runlevel. |
--del [service] | Rimuove un servizio dall'avvio in tutti i runlevel. |
[service] reset | Reimposta gli stati di attivazione/disattivazione di tutti i servizi. |
[service] resetpriorities | Reimposta le priorità di avvio/arresto di tutti i servizi. |
--override [service] | Riconfigura un servizio con le impostazioni di sostituzione anziché con la configurazione predefinita. |
Gli esempi di comando chkconfig
Il chkconfig
command è l'ultimo strumento di gestione dei servizi per i vecchi sistemi Linux. Le sezioni seguenti delineano il chkconfig
comune esempi.
Elenca tutti i servizi
Per elencare tutti i servizi, esegui il comando senza opzioni o esegui:
chkconfig --list
Utilizzando --list
con il chkconfig
comando visualizza lo stato di tutti i servizi disponibili in tutti i runlevel. Se desideri ordinare i servizi in ordine alfabetico, utilizza il sort
opzione:
chkconfig --list |sort
Il chkconfig --list
il comando funziona anche in RHEL 7. Tuttavia, l'output mostra solo i servizi Sys V e non i servizi di sistema nativi:
Elenca tutti i servizi abilitati
Per trovare tutti i servizi abilitati (in uno o più runlevel), esegui combina chkconfig --list
con il comando grep:
chkconfig --list | grep on
Per trovare tutti i servizi disabilitati (in uno o più runlevel), esegui:
chkconfig --list | grep off
Inoltre, per restringere l'ambito ai servizi attivati/disattivati da un particolare runlevel, utilizzare:
chkconfig --list | grep --level <levels>:on
chkconfig --list | grep --level <levels>:off
Ad esempio, elenca tutti i servizi in esecuzione nel runlevel 5 con:
chkconfig --list | grep 5:on
D'altra parte, per visualizzare tutti i servizi che non sono in esecuzione nel runlevel 5, eseguire:
chkconfig --list | grep 5 :off
Elenca un servizio particolare
Per mostrare la configurazione di avvio di un particolare servizio in tutti i runlevel, esegui chkconfig --list
e specificare il servizio.
chkconfig --list [service]
Ad esempio, controlla lo stato di ntpd servizio in tutti i runlevel con:
chkconfig --list ntpd
L'output mostra che ntpd il servizio è disabilitato all'avvio in qualsiasi runlevel.
Abilita un servizio
Abilita l'avvio di un servizio all'avvio con il chkconfig [service] on
comando. Quindi, conferma che il servizio è attivo utilizzando <strong>--list</strong>.
chkconfig [service] on
chkconfig --list [service]
Il on
l'opzione influisce sui runlevel 2, 3, 4 e 5 e avvia ntpd servizio all'avvio su questi runlevel. Per abilitare un servizio solo su uno o più runlevel, esegui:
chkconfig --level <levels> [service] on
Ad esempio, avvia ntpd service sul terzo runlevel e verifica la configurazione del servizio con:
chkconfig --level 3 ntpd on
chkconfig --list ntpd
Allo stesso modo, per attivare ntpd servizio in più runlevel in una volta sola usa:
chkconfig --level 235 ntpd on
chkconfig --list ntpd
Disattiva un servizio
Disattiva un servizio dall'avvio all'avvio del sistema con il chkconfig [service] off
comando:
chkconfig [service] off
chkconfig --list [service]
Anche se il off
La variabile interessa anche i runlevel da 2 a 5, gli utenti possono specificare in quali runlevel disabilitare un servizio.
Ad esempio, disabilita ntpd servizio solo nel runlevel 3 e verifica i risultati con:
chkconfig --level 3 ntpd off
chkconfig --list ntpd
Aggiungi un servizio
Aggiungi un servizio all'avvio in tutti i runlevel con il seguente comando:
chkconfig --add [service]
Ad esempio, utilizza il --add
opzione per aggiungere ntpd per l'avvio in tutti i runlevel. Quindi, usa --list
per verificare che il servizio sia stato aggiunto:
chkconfig --add ntpd
chkconfig --list ntpd
Il chkconfig
comando aggiunge e configura il servizio come specificato dai valori predefiniti nello script init. Ad esempio, il ntpd il servizio è disabilitato in ogni runlevel per impostazione predefinita.
Nota: Il comando aggiunge un servizio solo se è disponibile e installato. Se il servizio non è stato installato, installa prima il suo pacchetto.
Rimuovere un servizio
Rimuovere un servizio dall'avvio in tutti i runlevel con il --del
opzione:
chkconfig --del [service]
Il --del
l'opzione rimuove il servizio dall'avvio, ma il servizio rimane nel sistema. Pertanto, per aggiungere nuovamente il servizio all'avvio, utilizzare il --add
di nuovo l'opzione.
Ripristina configurazione servizio
Per ripristinare lo stato di attivazione/disattivazione di un servizio in tutti i runlevel come specificato nello script init, eseguire:
chkconfig [service] reset
L'output mostra che ntpd ritorna allo stato di disattivazione predefinito in tutti i runlevel.
Conclusione
Dopo aver letto questo tutorial, sai come utilizzare il chkconfig
comando per gestire i servizi nelle versioni precedenti di Linux.
Successivamente, scopri come utilizzare il systemctl
comando per avviare, arrestare e riavviare i servizi Linux sulle distribuzioni Linux più recenti.