Modifier l’ordre de démarrage des services Linux

29.11.2003 | Mis à jour le 14.05.2004 | marcori
3168 visiteurs  -  Aucun commentaire

Description du démarrage d’un système GNU/Linux Debian

Les services autonomes sous Debian sont démarrés (comme sous de nombreux systèmes Unix) par le biais de scripts placés dans le dossier /etc/init.d.

Le programme chargé de démarrer ou d’arrêter les services se nomme init, et a pour paramètre un niveau de démarrage. Ces niveaux, appelés aussi RunLevel sont définis dans le fichier /etc/inittab. C’est dans ce même fichier que l’on indique un RunLevel par défaut qui sera utilisé lors du démarrage de la machine.

Ces RunLevels sont normalisés de la manière suivante :
-  0 correspond au niveau d’arrêt du système.
-  1 correspond au niveau de démarrage en mode utilisateur unique.
-  2 et 3 correspondent aux niveaux de démarrage en mode multi-utilisateurs
-  4 est laissé libre
-  5 correspond au niveau de démarrage en mode multi-utilisateur avec une couche graphique.
-  6 correspond au niveau de re-démarrage de la machine.
-  S ou s sont des niveaux qui sont executés systématiquement par le système.

Suivant le niveau de démarrage indiqué dans le fichier /etc/inittab, le programme init va executer tous les scripts placés dans /etc/rcN.d, avec N étant le niveau de démarrage. Or il n’existe pas de scripts dans ce dossier, juste des liens pointant vers /etc/init.d. C’est le nom du lien qui permet de determiner si un service doit être arrêté ou bien démarré, et qui permet aussi de savoir dans quel ordre le faire.

Ainsi, en executant un RunLevel donné, le programme init va executer tous les liens de /etc/rcN.d commençant par `K’ et qui permettent d’arrêter les services (Kill). Puis init va executer tous les liens de /etc/rcN.d commençant par `S’ ce qui permet de démarrer ces services (Start). Le nombre à deux chiffres suivant le `K’ ou le `S’ indique l’ordre dans lequel le script est lancé. Les scripts possédant les nombres les plus petits sont exécutés en premier.

La normalisation Systeme V indique que les scripts dans /etc/init.d prennent tous un argument qui peut être soit "start" soit "stop". GNU/Linux ajoute les arguments "reload", "restart" et "force-reload" qui permettent de recharger la configuration d’un service après démarrage.

Si l’on regarde la différence entre un init 3 et un init 5, on peut se dire que seul le démarrage de X-Window diffère. Dans ce cas, on va donc créer un lien en ’K’ dans /etc/rc3.d et pointant vers le service idoine placé dans /etc/init.d. Notez que par convention, la définition d’un lien en ’K’ est le complément à 100 de la définition d’un lien en ’S’. Donc, si vous définissez un lien ’S’ ayant un numéro de démarrage égal à 56, le lien ’K’ aura pour numéro le complément à 100 soit 44 !

Utilisation de update-rc.d

Sous Debian, il existe un utilitaire permettant de gérer les liens symboliques de /etc/rcN.d qui se nomme /usr/sbin/update-rc.d. Sa syntaxe est la suivante :

-  update-rc.d [-n] [-f] remove
-  update-rc.d [-n] defaults [NN | sNN kNN]
-  update-rc.d [-n] start|stop NN runlvl [runlvl] [...] .

avec -n : not really (permet de tester) et -f : force

Ainsi pour supprimer tous les liens ’K’ et ’S’ de tous les dossiers /etc/rcN.d pour le service /etc/init.d/test, il suffit d’invoquer la commande suivante :

update-rc.d -f test remove

Par contre, pour créer les liens symbolique ’K’ ou ’S’ pour le même service dans les différents dossiers de /etc/rcN.d, il suffit d’invoquer la commande suivante :

update-rc.d test start 56 2 3 4 5 . stop 44 0 1 6 .

Nota : Ne pas oublier le ’.’ (point) pour terminer la méthode start ou stop.

 

Poster un nouveau commentaire


Modération de ce forum :

Ce forum est modéré à priori : votre contribution n'apparaîtra qu'après avoir été validée par un administrateur du site.


Emoticones :

(Pour insérer un émoticone, cliquez simplement sur l'image.)

:Thumbs::aime::bof::clindoeil::diable::en_colere::etoile::exclamation::fleur::interrogation::langue::lol::lunettes::mouai::pas_content::pleure_de_rire::rigolo::sourire::surprit::triste::xtra:

Titre :

Texte de votre message :

(Pour créer des paragraphes, laissez simplement des lignes vides.)


Lien hypertexte (optionnel)

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)


Qui êtes-vous ? (optionnel)


Articles les plus consultés

Téléchargez Firefox !

Libricks.org est motorisé par le logiciel libre Spip 1.8.3 associé au squelette graphique BliP 0.91

16 rubriques ... 30 articles ... 18 commentaires ... 28 sites référencés ... 50 visiteurs par jour (99041 au total)

Haut de page | XHTML 1.0 | CSS 2