GNU/Linux >> Tutoriels Linux >  >> Linux

7 Exemples de commande Linux chkconfig - Ajouter, supprimer, afficher, modifier des services

La commande Chkconfig est utilisée pour configurer, afficher ou modifier les services qui sont configurés pour démarrer automatiquement lors du démarrage du système.

Cet article contient 7 exemples pratiques qui expliquent comment utiliser la commande chkconfig.

1. Vérifier l'état de démarrage du service à partir du script Shell

Lorsque vous exécutez la commande chkconfig uniquement avec le nom du service, elle renvoie true si le service est configuré pour le démarrage. L'extrait de code suivant montre comment vérifier si un service est configuré pour le démarrage ou non à partir d'un script shell.

# vi check.sh
chkconfig network && echo "Network service is configured"
chkconfig junk && echo "Junk service is configured"

# ./check.sh
Network service is configured

Vous pouvez également vérifier spécifiquement s'il est configuré pour un niveau d'exécution particulier ou non.

# vi check1.sh
chkconfig network --level 3 && echo "Network service is configured for level 3"
chkconfig network --level 1 && echo "Network service is configured for level 1"

# ./check1.sh
Network service is configured for level 3

2. Afficher l'état actuel des services de démarrage

L'option –list affiche tous les services avec l'état de configuration de démarrage actuel.

# chkconfig --list
abrtd   0:off   1:off   2:off   3:on    4:off   5:on    6:off
acpid   0:off   1:off   2:off   3:off   4:off   5:off   6:off
atd     0:off   1:off   2:off   3:on    4:on    5:on    6:off
...

Pour afficher uniquement les services configurés pour être démarrés lors du démarrage du système, procédez comme suit. Veuillez noter que cela suppose que le niveau de démarrage de votre système est 3.

chkconfig --list | grep 3:on

Remarque  :Pour afficher tous les niveaux d'exécution système disponibles, reportez-vous à 6 étapes du processus de démarrage Linux

Pour afficher la configuration de démarrage d'un service particulier, grep la sortie de 'chkconfig -list' pour ce service.

chkconfig --list | grep network

3. Ajouter un nouveau service au démarrage

Utilisez l'option –add pour ajouter un service spécifique à la liste des services qui seront démarrés lors du redémarrage du système.

L'exemple suivant montre comment ajouter un nouveau service (par exemple, iptables) à la liste des services qui doivent être démarrés. La commande « chkconfig –add » activera également automatiquement les niveaux 2, 3, 4 et 5, comme indiqué ci-dessous.

# chkconfig --list | grep iptables

# chkconfig --add iptables

# chkconfig --list | grep iptables
iptables       0:off   1:off   2:on    3:on    4:on    5:on    6:off

Remarque :"chkconfig –add" ajoute uniquement un service existant à la liste de démarrage. Si le service n'existe pas, vous devez d'abord l'installer avant de l'ajouter à la liste de démarrage du système. Bien que cela soit assez évident, cela vaut la peine de le mentionner, car un débutant pourrait faire cette erreur.

4. Supprimer un service de la liste de démarrage

L'exemple suivant montre que les services ip6tables sont configurés pour le démarrage.

# chkconfig --list | grep ip6tables
ip6tables       0:off   1:off   2:off   3:on   4:off   5:off   6:off

Pour le supprimer de la liste de démarrage, utilisez l'option –del comme indiqué ci-dessous.

# chkconfig --del ip6tables

# chkconfig --list | grep ip6tables

5. Activer ou désactiver un service pour un niveau d'exécution sélectionné

Parfois, vous ne voudrez peut-être pas supprimer tout le service. Au lieu de cela, vous pouvez simplement activer ou désactiver l'indicateur pour un niveau d'exécution particulier (pour un service particulier).

L'exemple suivant désactivera le service nfserver pour le niveau 5

# chkconfig --level 5 nfsserver off

Vous pouvez également combiner plusieurs niveaux. L'exemple suivant désactivera nfsserver pour les niveaux 3 et 5.

# chkconfig --level 35 nfsserver off

6. Fichiers de script sous les sous-répertoires rc.d

Chaque fois que vous ajoutez ou supprimez un service du contrôle chkconfig, il effectue les opérations suivantes dans les sous-répertoires /etc/rc.d.

  • Lorsque la commande chkconfig –add est exécutée, elle crée un fichier de lien symbolique pour démarrer et arrêter le service sous le répertoire rc correspondant.
  • Lorsque la commande chkconfig –del est exécutée, elle supprime le fichier de lien symbolique du répertoire rc correspondant.

L'exemple suivant montre que xinetd est activé pour les niveaux d'exécution 3 et 5.

Ainsi, xinetd aura deux fichiers sous le répertoire rc3.d et deux fichiers sous le répertoire rc5.d. Le fichier qui commence par K est utilisé lors de l'arrêt (K signifie kill). Le fichier qui commence par S est utilisé au démarrage (S signifie start).

# chkconfig --list | grep xinetd
xinetd                    0:off  1:off  2:off  3:on   4:off  5:on   6:off
xinetd based services:

# cd /etc/rc.d/rc3.d
# ls | grep xinetd
K08xinetd
S14xinetd

# cd /etc/rc.d/rc5.d

# ls | grep xinetd
K08xinetd
S14xinetd

7. rcx.d Modifications du répertoire pour l'opération d'ajout

Lorsque vous ajoutez un nouveau service au contrôle chkconfig, les niveaux d'exécution par défaut pour ce service seront automatiquement activés et les fichiers seront créés sous les répertoires rcx correspondants.

Par exemple, si le service nfsserver n'existe pas dans le contrôle chkconfig, aucun fichier de démarrage du service nfsserver ne sera présent dans les répertoires /etc/rc.d/rc*.d comme indiqué ci-dessous.

# chkconfig  --list | grep nfsserver
nfsserver                 0:off  1:off  2:off  3:off  4:off  5:off  6:off

# ls /etc/rc.d/rc3.d | grep nfsserver

# ls /etc/rc.d/rc5.d | grep nfsserver

Après avoir ajouté le service nfsserver, vous verrez les liens symboliques sous ces répertoires.

# chkconfig --add nfsserver
nfsserver                 0:off  1:off  2:off  3:on   4:off  5:on   6:off

# cd  /etc/rc.d/rc3.d
# ls -l | grep nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 K08nfsserver -> ../nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 S14nfsserver -> ../nfsserver

# cd /etc/rc.d/rc5.d
# ls -l | grep nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 K08nfsserver -> ../nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 S14nfsserver -> ../nfsserver

Lorsque vous désactivez le service à l'aide de l'option –del ou de l'option –level, le fichier de lien symbolique correspondant sous le répertoire rcx.d sera supprimé comme indiqué ci-dessous.

# chkconfig --level 5 nfsserver off

# ls /etc/rc.d/rc5.d  | grep nfsserver

Linux
  1. 7 Exemples de commandes Linux df

  2. 8 Exemples de commandes Linux TR

  3. 5 exemples de commandes tactiles Linux (comment modifier l'horodatage des fichiers)

  4. Exemples de commande rm sous Linux

  5. Exemples de commandes ps sous Linux

Commande Linux wc avec exemples

10 exemples de commandes iftop sous Linux

Commande Linux Route Add avec exemples

7 exemples de commande de route Linux (comment ajouter une route sous Linux)

Exemples de commandes id sous Linux

Commande Linux chkconfig avec exemples