Comando Linux Chkconfig con esempi
Chkconfig è una semplice utility a riga di comando per gestire i servizi a ogni livello di esecuzione. Utilizzando il comando chkconfig è possibile elencare tutti gli stati dei servizi (avviati o disabilitati) per ogni runlevel e configurare l’avvio e l’arresto del servizio elencato nella directory “/etc/rd.d/init.d”.
Oltre a elencare i servizi, il comando chkconfig viene utilizzato per aggiungere e rimuovere servizi da runlevel specifici. Il comando chkconfig può anche gestire i file di configurazione di xinetd.d (servizi controllati da xinetd).
In questo tutorial impariamo a conoscere il comando chkconfig attraverso alcuni esempi pratici.
Sintassi e opzioni del comando Chkconfig
La riga seguente mostra la sintassi di chkconfig e le sue opzioni disponibili:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name
chkconfig [--level levels] name
Elenca tutti gli stati del servizio nei livelli di esecuzione
chkconfig --list
L’opzione viene utilizzata per visualizzare lo stato corrente di tutti i servizi che mostrano l’avvio o l’arresto nei rispettivi runlevel.
# chkconfig --list
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Elenca un servizio specifico
Puoi aggiungere più comandi con chkconfig per elencare un servizio specifico.
Nell’esempio seguente, utilizzo il comando grep per elencare il servizio “sshd”:
# chkconfig --list | grep sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Per elencare tutti i servizi avviati al runlevel 3, utilizzare il seguente comando:
# chkconfig --list | grep 3:on
Abilita (avvia) il servizio ai runlevel
Controlliamo come avviare un servizio specifico su runlevel specifici.
Il seguente comando mostra come avviare il servizio ‘nfs’ al runlevel 5 e il secondo comando elenca lo stato del runlevel del servizio ‘nfs’:
# chkconfig --level 5 nfs on
# chkconfig --list | grep nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:on 6:off
Scopri come avviare un servizio su più livelli utilizzando un singolo comando.
Nel seguente comando avviamo il servizio “nfs” al livello 3 e 5:
# chkconfig --level 35 nfs on
# chkconfig --list | grep nfs
nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Disabilitare (arrestare) il servizio ai livelli di esecuzione
I seguenti comandi mostrano come arrestare il servizio “nfs” al runlevel 5:
# chkconfig --level 5 nfs off
È possibile arrestare il servizio multi-runlevel utilizzando il seguente comando:
# chkconfig --level 35 nfs off
Come aggiungere il servizio
Il --add
L’opzione aggiunge un servizio alla gestione di chkconfig. Chkconfig crea la voce appropriata (start o stop) come specificato dai valori predefiniti nello script di inizializzazione.
I seguenti comandi aggiungono i servizi iptables e si avvierà automaticamente al livello 2, 3, 4 e 5:
# chkconfig --add iptables
# chkconfig –list | grep iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Il comando aggiungerà solo il servizio presente nel sistema. Se il servizio non è presente, dovresti prima installare il pacchetto e poi essere in grado di aggiungerlo all’elenco di avvio del sistema.
Come eliminare un servizio
Il --del
l’opzione rimuove completamente un servizio dal sistema chkconfig. I seguenti comandi rimuovono il servizio “iptables” dall’elenco chkconfig.
# chkconfig --del ip6tables
Conclusione
Quando chkconfig --add
viene eseguito, crea un file di collegamento simbolico in modo che i servizi possano essere avviati e arrestati sotto l’appropriato rc (/etc/rc[0-6].d) direttore. E quando chkconfig --del
viene eseguito, rimuove lo stesso collegamento simbolico dalla directory.
Poiché le moderne distribuzioni Linux sono passate da SysV a systemd, il comando chkconfig è stato sostituito dai comandi systemctl. Spero che ti sia piaciuto leggere e per favore lascia i tuoi ordini nella sezione commenti qui sotto.