Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
31 mai 2010

Linux           initialisation du système


update-rc.d

update-rc.d

Met à jour les liens des scripts init

   Met à jour les liens des scripts init du système dans /etc/rcX.d/ qui ciblent les script dans /etc/init.d/. update-rc.d a 2 modes d'opération pour installer les scripts dans la séquence de boot. Un mode legacy où les arguments de la ligne de commande sont utilisés pour décider la configuration de runlevel; et un mode par défaut où les informations de runlevel et de dépendance sont récupérés depuis l'en-tête du script.

   Si un fichier dans /etc/rcX.d/ existe, update-rc.d ne fait rien. Supprimer les liens manuellement dans les dossiers /etc/rcX.d/ est une erreur commune parce qu'à la prochaine mise à jours du programme, le script postinstall va pré-exécuter update-rc.d qui va recréer les liens. La bonne démarche est de désactiver le service dans tous les runlevels.

   Si default est utilisé, update-rc.d va créer des liens pour démarrer les services dans les runlevels 2345 et de les stopper dans les runlevels 016. Par défaut, tous les liens ont le numéro de séquence de 20, mais peut changer en fonction des dépendances.

   Les script kill sont appelés en premier. En général, le numéro de séquence pour stopper un lien devrait être 100 moins le numéro de séquence pour le démarrer, ce qui force les services à être stoppés dans l'ordre inverse qu'ils ont été démarré. Par contre le numéro de séquence par défaut pour stopper un lien reste 20 par défaut, il s'agit d'un bug historique.

   Le script doit exister dans /etc/init.d/ avant d'utiliser update-rc.d pour créer les liens. Le script doit être supprimé de /etc/init.d/ avant d'utiliser update-rc.d pour supprimer les liens

OPTIONS

-n  Ne fait rien, affiche seulement ce qu'il aurait fait.
-f Force la suppression des liens même si le script existe encore.

Exemples

Inserér les liens en utilisant defaults:
update-rc.d foobar defaults
l'équivalent en utilisant les arguments explicites:
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
Une commande plus courante:
update-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 .
Insérer les liens dans les runlevels par défaut quand B requièreA
update-rc.d script_for_A defaults 80 20
update-rc.d script_for_B defaults 90 10
Insérer un lien d'un service qui n'est pas nécessaire à un autre service:
update-rc.d top_level_app defaults 98 02
Insérer un lien qui requière un service qui se lance/se termine avec un numéro de séquence de 20:
update-rc.d script_depends_on_svc20 defaults 21 19
Supprimer tous les liens d'un script (il doit avoir été supprimé avant)
update-rc.d foobar remove
Exemple pour désactiver un service:
update-rc.d -f foobar remove
update-rc.d foobar stop 20 2 3 4 5 .
exemple d'une commande pour installer un script d'initialisation et d'arrêt du système:
update-rc.d foobar start 45 S . stop 31 0 6 .
Exemple d'une commande pour désactiver un script d'initialisation et d'arrêt du système:
update-rc.d -f foobar remove
update-rc.d foobar stop 45 S .