update-rc.d(8) Installer ou supprimer les liens vers les scripts

SYNOPSIS

update-rc.d [-n] [-f] nom remove
update-rc.d [-n] nom defaults
update-rc.d [-n] nom disable|enable [S|2|3|4|5]

DESCRIPTION

update-rc.d met à jour automatiquement les liens vers les scripts
d'initialisation de type Système V dont le nom est /etc/rcrunlevel.d/NNnom vers les scripts /etc/init.d/name. Ils sont lancés par init quand on change de niveau de fonctionnement et ils sont généralement utilisés pour démarrer ou arrêter des services tels que les démons. runlevel est l'un des niveaux de fonctionnement autorisés par init, 0123456789S, et NN est le code à deux chiffres utilisé par init pour décider de l'ordre d'exécution des scripts.

Cette page de manuel documente seulement le comportement de update-rc.d et son utilisation. Pour une discussion sur la préparation des scripts pour l'initialisation de type Système V voyez init(8) et la charte Debian.

L'INSTALLATION DES LIENS DES SCRIPTS D'INITIALISATION

update-rc.d nécessite que des informations de dépendance et de niveau de fonctionnement soient fournies dans l'en-tête de commentaire LSB de tous les scripts init.d. Consultez la page de manuel insserv(8) pour avoir plus de détails sur le format d'en-tête LSB.

Quand update-rc.d est lancé avec l'option defaults, il crée les liens /etc/rcrunlevel.d/[SK]NNname qui pointent vers le script /etc/init.d/name en utilisant l'information de niveau de fonctionnement et de dépendance de l'entête de commentaire LSB du script init.d.

Quand des fichiers /etc/rcniveau_exécution.d/[SK]??nom existent déjà, update-rc.d ne fait rien. C'est ainsi pour que l'administrateur système puisse réarranger les liens -- à condition qu'il en reste au moins un -- sans que sa configuration ne soit réécrite. Le programme n'installera des liens que si aucun n'est présent, c'est-à-dire s'il semble que le service n'était pas installé auparavant.

Les anciennes versions de update-rc.d prenaient également en charge les options start et stop. Ces options ne sont plus prises en charge et sont maintenant équivalentes à l'option defaults.

Une erreur courante d'administration d'un système consiste à supprimer les liens en pensant que ça « désactive » le service, c'est-à-dire que ça empêchera le service de démarrer. Cependant, si tous les liens sont supprimés, alors la prochaine fois que le paquet sera mis à jour, le script postinst lancera update-rc.d de nouveau, ce qui réinstallera les liens à leur emplacement par défaut. La façon correcte pour désactiver des services est de configurer le service comme étant arrêté dans tous les niveaux d'exécution pour lesquels il serait démarré par défaut. Avec le système d'initialisation Système V, cela signifie qu'il faut renommer le lien symbolique du service de S vers K.

Le script /etc/init.d/nom doit exister avant de lancer update-rc.d pour créer les liens.

LA SUPPRESSION DES SCRIPTS

Quand on appelle update-rc.d avec l'option remove les liens dans les répertoires /etc/rcniveau_exécution.d qui pointent vers le script /etc/init.d/nom sont supprimés. Ce script doit déjà avoir été supprimé. Si le script est toujours présent, update-rc.d quittera avec un message d'erreur.

On appelle habituellement update-rc.d dans le script « post-removal » d'un paquet et quand ce script a détecté que son premier paramètre était purge. Tout fichier dans les répertoires /etc/rcrunlevel.d qui n'est pas un lien symbolique vers le script /etc/init.d/name est préservé.

DÉSACTIVATION DES LIENS DE DÉMARRAGE DES SCRIPTS D'INITIALISATION

Avec l'option disable [ S|2|3|4|5 ], update-rc.d modifie pour les niveaux d'exécution les liens existants vers le script /etc/init.d/nom en renommant les liens de démarrage en liens d'arrêt avec un numéro de séquence égal à 100 moins le numéro de séquence d'origine.

Avec l'option enable [ S|2|3|4|5 ], update-rc.d modifie pour les niveaux d'exécution les liens existants vers le script /etc/init.d/nom en renommant les liens d'arrêt en liens de démarrage avec un numéro de séquence égal à 100 moins le numéro de séquence actuel, revenant ainsi au numéro de séquence d'origine du script avant qu'il soit désactivé.

Ces deux options ne fonctionnent qu'avec les niveaux d'exécution S, 2, 3, 4 ou 5. Si aucun niveau d'exécution n'est précisé après le mot clé disable ou enable, le script essaiera de modifier des liens dans tous les niveaux d'exécution.

OPTIONS

-n
Ne fait rien, montre seulement ce qui pourrait être fait.
-f
Forcer la suppression des liens même si /etc/init.d/nom existe encore.

EXEMPLES

Insérer des liens avec l'option « defaults » :
update-rc.d truc defaults
L'en-tête des dépendances équivalent devrait avoir des dépendances
de démarrage et d'arrêt pour $remote_fs et $syslog, et devrait démarrer
dans les niveaux d'exécution 2 à 5 et s'arrêter dans les niveaux 0, 1 et 6.
Retirer tous les liens d'un script (en supposant que truc a déjà été supprimé) :
update-rc.d truc remove
Exemple de désactivation d'un service :
update-rc.d truc disable
Exemple de commande pour installer un script système d'initialisation et d'arrêt :
update-rc.d truc defaults
Exemple de commande pour désactiver un script système d'initialisation et d'arrêt :
update-rc.d truc disable

FICHIERS

/etc/init.d/
Le répertoire qui contient en fait les scripts d'initialisation.
/etc/rc?.d/
Le répertoire qui contient les liens utilisés par init et gérés par update-rc.d.
/etc/init.d/skeleton
Modèle pour l'écriture des scripts d'init.d.

TRADUCTION

La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.