Content-type: text/html
Cette implémentation de chkconfig est dérivée de la commande chkconfig présente sur IRIX. Plutôt que de maintenir des informations de configuration en dehors de l'arborescence /etc/rc[0-6].d, cette version gère directement les liens dans /etc/rc[0-6].d. Cela permet d'avoir au même endroit toutes les informations de configuration indépendemment des services lancés par init.
chkconfig propose cinq fonctions : ajouter un nouveau service à gérer, supprimer un service à gérer, lister l'état actuel des services à démarrer, changer les informations de démarrage des services et vérifier les informations de démarrage d'un service en particulier.
Exécuté sans argument, chkconfig renvoie sa syntaxe. Si seul le nom d'un service est fourni, il cherche si le service est configuré pour démarrer dans le niveau d'exécution courant. Si c'est le cas, chkconfig renvoie true, sinon il renvoie false. L'option --level peut être utilisé pour interroger un autre niveau d'exécution que celui en cours.
Si on spécifie un des paramètres on, off, ou reset après le nom d'un service , chkconfig change les informations de démarrage pour ce service. Les options on et off feront respectivement démarrer ou arrêter le service pour le niveau d'exécution spécifié. L'option reset réinitialise les informations de démarrage en fonction de ce qui est spécifié dans le script d'init du service.
Par défaut, les options on et off agissent sur les niveaux d'exécution 3, 4 et 5, alors que reset agit sur tous les niveaux d'exécution. L'option --level est utilisée pour spécifier quels niveaux d'exécution sont impactés.
Pour chaque service, il existe un script de démarrage ou d'arrêt dans chacun des niveaux d'exécution. Lorsque init change de niveaux d'exécution, il ne relancera pas un service déjà actif et n'arrêtera pas un service inactif.
Cette option demande à chkconfig de prendre en charge un nouveau service. Lors de l'ajout d'un service, chkconfig vérifie que ce service possède bien un script de démarrage ou d'arrêt dans chaque niveau d'exécution. S'il en manque, chkconfig les créera en fonction des informations contenues dans le script d'init.
Chaque service devant être géré par chkconfig doit comporter au moins deux lignes de commentaires dans son script d'init. La première ligne indique à chkconfig dans quels niveaux d'exécution le service doit être démarré par défaut, ainsi que ses priorités de démarrage et d'arrêt. Si le service ne doit être, par défaut, démarré dans aucun niveau d'exécution, mettre un - à la place des niveaux d'exécution. La deuxième ligne contient la description du service et peut être sur plusieurs lignes à condition d'utiliser le backslash (\) en fin de chaque ligne.
Par exemple, le script d'init de random comporte ces trois lignes :
# chkconfig: 2345 20 80 # description: Saves and restores system entropy pool for \ # higher quality random number generation.Cela implique que random doit être démarré dans les niveaux 2, 3, 4 et 5, avec une priorité de démarrage de 20 et une priorité d'arrêt de 80. Vous devriez être capable de comprendre la description. Le \ provoque la continuation de ligne. Les espaces en début de ligne sont ignorés.
Erik Troan <ewt@redhat.com>
Didier Albenque, Octobre 2002.