Les services lancés au démarrage et l’arrêt de votre système

Cours les services lancés au démarrage et l’arrêt de votre système, tutoriel & guide de travaux pratiques en pdf.

Comment sont lancés les services au démarrage et à l’arrêt de votre système

Init a pour rôle de démarrer vos services (comme par exemple gdm qui est un prompt graphique) par l’intermédiaire du fichier de configuration /etc/inittab qui contient les scripts à démarrer. Ce fichier permet de définir un runlevel (ou niveau de démarrage) qui permettra seulement l’exécution d’un groupe de services. Il existe par convention 6 runlevels. Les runlevels 0 et 6 sont réservés respectivement à l’arrêt et au redémarrage du système, le niveau 1 permet de démarrer le mode utilisateur unique. Ainsi les liens vers les scripts de démarrage se trouvent dans rcX.d où X représente le niveau de démarrage (runlevel) tandis que les scripts proprement dit se situent dans /etc/init.d. Les 7 niveaux de démarrage sont donc :
• 0 arrêt du système (halt)
• 1 mode utilisateur unique (single user). Ce mode est utilisé généralement si vous rencontrez des problèmes avec certains services lancés au démarrage car le minimum de services sont démarrés et vous pouvez seulement vous identifier en tant qu’utilisateur root.
• 2 à 5 mode multi-utilisateur car sous Debian tous ces niveaux sont identiques. Ce mode vous permet de vous identifier en n’importe quel utilisateur.
• 6 redémarrage (reboot) Le changement du niveau de démarrage peut être effectué par root avec la commande init en tapant par exemple :
# init 1. Ce niveau de démarrage est défini dans le fichier /etc/inittab par une ligne comme celle-ci où 2 représente le niveau de démarrage actuel : id:2:initdefault:
Maintenant que nous avons défini les différents niveaux de démarrage et leur rôle, nous allons désormais expliquer de quelle manière se lancent les services. Pour qu’un service, que nous appellerons exemple, se lance au niveau de démarrage 0, 2 et 6 sans passer par la commande updaterc.d, il faut faire des liens symboliques vers le script de démarrage se trouvant dans /etc/init.d :
# ln -s /etc/init.d/exemple /etc/rc1.d/S20exemple # ln -s /etc/init.d/exemple /etc/rc2.d/S20exemple Nous pouvons également démarrer et arrêter manuellement un service en tapant respectivement :
# /etc/init.d/exemple start # /etc/init.d/exemple stop Ces liens sont nommés selon une méthode précise : une lettre (K ou S suivant le niveau de démarrage) suivie d’un chiffre (20 dans cet exemple) et enfin du nom de votre script (exemple ici). Le S signifie que le script doit être lancé (argument passé au script : start) alors que le K signifie que le script doit être arrêté (argument passé au script : stop). Enfin le chiffre définit l’ordre de lancement et d’arrêt des scripts, ainsi S20exemple sera démarré après S10syslogkd, cependant K20exemple sera arrêté après K10syslogkd. Passons désormais à la pratique en écrivant un script de démarrage et en précisant le fonctionnement de la commande update-rc.d afin d’éviter la création des liens assez fastidieuse. Vous pouvez également utiliser des outils remplissant la même fonction que update-rc.d en mode graphique tel que ksysv (paquet du même nom).

……..

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *