Available in

(8) (8)/es (8)/fr (8)/ja (8)/pl

Contents

NOM

update−rc.d − Installer ou supprimer les liens vers les scripts d’initialisation de type Système V.

SYNOPSIS

update−rc.d [−n] [−f] nom remove

update−rc.d [−n] nom defaults [NN | SS KK]

update−rc.d [−n] nom start|stop NN runlevel [runlevel]... . start|stop NN runlevel [runlevel]... . ...

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 a deux mode de fonctionnement pour installer des scripts dans la séquence de démarrage. Un mode d’origine qui utilise des paramètres en ligne de commande pour décider la configuration de la séquence et des niveaux d’exécution et le mode par défaut dans lequel des information sur les dépendances et les niveaux d’exécution contenues dans les commentaires de l’en−tête des script init.d LSB sont utilisées à la place. Un tel en−tête doit être présent dans les scripts init.d. Consultez la page de manuel de insserv(8) pour des détails sur le format de l’en−tête LSB. La méthode de séquencement du démarrage est décidée lors de l’installation ou des mise à jour. Lors des mises à jour, s’il n’y a pas de boucle dans les dépendances déclarées par les en−têtes LSB de tous les scripts init.d installés et qu’il n’y a pas de script init.d obsolète, le système de démarrage est convertit en la méthode de séquencement basée sur les dépendances. La conversion ne se fait que dans un sens. Les machines qui utilisent le mode d’origine auront un fichier /etc/init.d/.legacy−bootordering.

Les paquets qui installent des scripts init.d devrait s’assurer que les deux méthodes fonctionnent pour assurer la compatibilité avec les systèmes qui n’ont toujours pas migré.

Pour le mode d’origine, la section suivante documente l’ancien comportement.

Quand update−rc.d est lancé avec les options defaults, start, ou stop, il crée les liens /etc/rcrunlevel.d/[SK]NNname qui pointent vers le script /etc/init.d/name.

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.

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 est 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.

Quand l’option defaults est utilisée, update−rc.d crée des liens pour démarrer un service dans les niveaux d’exécution 2345 et des liens pour arrêter un service dans les niveaux 016. Par défaut, tous les liens ont un numéro de séquence égal à 20, mais il devrait être modifié s’il y a des dépendances. Par exemple, si le démon B dépend du démon A, alors A doit être démarré avant B et B doit être arrêté avant A. Ceci se fait en fournissant deux paramètres NN. En général, les démons principaux devraient démarrer tôt et être arrêtés tard, alors que les applications peuvent être démarrée tard et être arrêtée tôt. Consultez la section EXEMPLES ci−dessous.

Le premier paramètre NN fournit le numéro de séquence de démarrage et le second paramètre NN fournit le numéro de séquence d’arrêt. Les scripts d’arrêt sont appelés en premier, avec le paramètre « stop ». Ensuite les script de démarrage sont appelés en leur fournissant le paramètre « start ». Dans les deux cas, les scripts sont appelés dans l’ordre ascendant des numéros de séquence.

Lorsqu’un seul paramètre NN est fourni, le même nombre est utilisé pour les liens de démarrage et d’arrêt. Ceci est pris en charge pour des raisons de compatibilité ascendante, mais n’est pas conseillé, puisque cela peut entraîner une configuration incohérente. Comme règle de base, si vous augmenter le numéro de séquence pour le démarrage, vous devriez diminuer le numéro de séquence pour l’arrêt, et vice−versa.

Comme règle empirique, le numéro de séquence du lien d’arrêt doit valoir 100 moins le numéro de séquence du lien de démarrage ; ceci permet d’arrêter les services dans l’ordre inverse de leur démarrage. Bien sûr, en conséquence, le numéro de séquence pour l’arrêt est de 80. Une valeur par défaut de 20, comme utilisée par update−rc.d, est un vieux bogue qui ne peut être corriger sans risquer de casser certaines choses.

Au lieu de defaults, on peut indiquer les niveaux de fonctionnement dans lesquels lancer ou arrêter les services en utilisant une suite explicite d’ensembles de paramètres. Chacun de ces ensembles commence par un paramètre start ou stop de manière à indiquer s’il faut créer des liens de démarrage ou d’arrêt, puis un numéro de séquence NN, suivi par un ou plusieurs nombres indiquant les niveaux d’exécution. Cet ensemble de paramètres se termine par un paramètre « » (un simple point).Quand, plutôt que defaults, on utilise une détermination explicite, il faut habituellement un ensemble de démarrage start et un ensemble d’arrêt stop. Quand on veut différents codes dans les différents niveaux de fonctionnement, on peut spécifier différents ensembles de démarrage start ou différents ensembles d’arrêt stop. Dans ce cas, et que le même niveau d’exécution est utilisé dans plusieurs ensembles, seul le dernier compte. Il n’est donc pas possible de créer plusieurs liens start ou plusieurs liens stop pour un service dans le répertoire d’un niveau d’exécution.

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 foobar 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’arreter dans les niveaux 0, 1 et 6.
La même commande, avec une détermination explicite utilisant les ensembles de paramètres :
update−rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .

Une commande plus courante utilisant un ensemble de paramètres explicites :
update−rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 .

Insérer des liens dans les niveaux d’exécution par défaut quand B nécessite A
update−rc.d script_A defaults 80 20
update−rc.d script_B defaults 90 10

Insérer un lien pour un service qui (a priori) ne sera nécessaire pour aucun autre démon
update−rc.d app_haut_niveau defaults 98 02

Insérer des liens pour un script qui nécessite des services démarrant ou s’arrêtant au numéro de séquence 20
update−rc.d script_dependant_services_20 defaults 21 19

Retirer tous les liens d’un script (en supposant que foobar a déjà été supprimé) :
update−rc.d foobar remove

Exemple de désactivation d’un service :
update−rc.d −f foobar remove
update−rc.d foobar stop 20 2 3 4 5 .

Exemple de commande pour installer un script système d’initialisation et d’arrêt :
update−rc.d foobar start 45 S . stop 31 0 6 .

Exemple de commande pour désactiver un script système d’initialisation et d’arrêt :
update−rc.d −f foobar remove
update−rc.d foobar stop 45 S .

BOGUES

Consultez http://bugs.debian.org/sysv−rc.

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.

/var/lib/sysv−rc/legacy−bootsequence

Drapeau indiquant que la machine utilise le mode d’origine pour l’ordre des scripts de démarrage.

VOIR AUSSI

la charte Debian,
/etc/init.d/skeleton
,
insserv(8), sysv−rc−conf(8), bum(8), init(8).

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.

COMMENTS

blog comments powered by Disqus