Chkconfig

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Gestion des services (SysV init)
Commande chkconfig
Contexte RHEL/CentOS 5 et 6 — remplacé par systemctl sur RHEL7+
Voir aussi Systemctl (équivalent systemd)

chkconfig gère l'activation des services au démarrage sous SysV init (les runlevels classiques). Sur RHEL7 et plus, systemd a remplacé ce mécanisme — voir Systemctl — mais chkconfig reste utile pour comprendre ou maintenir des systèmes RHEL/CentOS 5/6 encore en service.

Commandes de base

chkconfig --list tomcat            # état actuel par runlevel
chkconfig --add tomcat             # enregistrer un service (lit l'en-tête du script init)
chkconfig --level 345 --add tomcat # idem, en précisant les runlevels 3/4/5
chkconfig --del tomcat             # désenregistrer

chkconfig tomcat on                # activer au démarrage (runlevels par défaut du script)
chkconfig tomcat off               # désactiver

En-tête d'un script d'init

Pour qu'un script dans /etc/init.d/ soit reconnu par chkconfig, il doit commencer par ces deux lignes de métadonnées (sinon --add échoue) :

#!/bin/sh
#
# chkconfig: 345 20 80
# description: tomcat

345 20 80 = runlevels où le service démarre (3, 4, 5), priorité de démarrage (20) et priorité d'arrêt (80) — plus la priorité de démarrage est basse, plus tôt le service démarre dans la séquence de boot.

Désactiver les services inutiles

Liste type de services à couper sur un serveur pour libérer des ressources (poste sans interface graphique, sans clients Windows, sans matériel PCMCIA, etc.) :

for svc in iptables ip6tables acpid atd autofs cpuspeed cups gpm haldaemon isdn \
           mdmonitor messagebus netfs nfslock pcmcia portmap rawdevices \
           rpcgssd rpcidmapd smartd yum-updatesd; do
  chkconfig "$svc" off
done

⚠️ Vérifier au cas par cas avant de couper : iptables/ip6tables ne doit être désactivé que si un autre pare-feu prend le relai, portmap/ rpcgssd/rpcidmapd sont nécessaires si le serveur utilise NFS.

Voir aussi

  • Systemctl — équivalent systemd (RHEL7+), y compris la table de correspondance des commandes
  • RHEL7 — spécificités de la distribution