Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 664c05250964d29fcf1d0bb310959fbc > files > 101

mandrake-doc-fr-10.0-5.1.100mdk.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Les niveaux d'exécution</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Manuel de référence"><link rel="up" href="sysv.html" title="Chapitre 11. Les fichiers de démarrage : init sysv"><link rel="previous" href="ch11s01.html" title="Au commencement était init"><link rel="next" href="ref-advanced-linux.html" title="Utilisations avancées"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Les niveaux d'exécution</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch11s01.html">Précédent</a> </td><th width="60%" align="center">Chapitre 11. Les fichiers de démarrage : init sysv</th><td width="20%" align="right"> <a accesskey="n" href="ref-advanced-linux.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sysv-levels"></a>Les niveaux d'exécution</h2></div></div><div></div></div><p><a name="BId-sysv-pa8"></a>Tous les fichiers qui participent au
    démarrage du système se trouvent dans le répertoire
	<tt class="filename">/etc/rc.d</tt>. En voici la liste :</p><a name="BId-sysv-sc5"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">$ ls /etc/rc.d 
init.d/  rc0.d/  rc2.d/  rc4.d/  rc6.d/            rc.local*    rc.sysinit*
rc*      rc1.d/  rc3.d/  rc5.d/  rc.alsa_default*  rc.modules*</pre></td></tr></table><p><a name="BIdNEW-sysv-pa24"></a>En premier lieu, comme nous l'avons vu, le fichier
<span><b class="command">rc.sysinit</b></span> est exécuté. C'est lui qui est chargé de
mettre en place la configuration de base de la machine : type du
clavier, configuration de certains périphériques, vérification des
systèmes de fichiers, etc.</p><p><a name="BId-sysv-pa9"></a><a class="indexterm" name="BId-sysv-it2"></a>Puis le script <span><b class="command">rc</b></span> est
exécuté avec en argument le niveau d'exécution souhaité. Nous avons vu
que le niveau d'exécution est un simple entier et que pour chaque
niveau d'exécution <tt class="option">&lt;x&gt;</tt> défini, il doit exister
un répertoire correspondant <tt class="filename">rc&lt;x&gt;.d</tt>. Dans
une installation typique de <span class="application">Mandrakelinux</span>, vous pouvez donc voir
que 6 niveaux d'exécution sont ainsi définis :</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-sysv-pa10"></a>0 : arrêt complet de la
	machine ;</p></li><li><p><a name="BId-sysv-pa11"></a>1 : mode <a name="BId-sysv-gt2" href="glossary.html#term-singleuser"><i class="glossterm">monoutilisateur</i></a> ; à
      utiliser en cas de gros pépin !</p></li><li><p><a name="BId-sysv-pa12"></a>2 : mode <a name="BId-sysv-gt3" href="glossary.html#term-multiuser"><i class="glossterm">multiutilisateur</i></a>, sans
	réseau ;</p></li><li><p><a name="BId-sysv-pa13"></a>3 : mode multiutilisateur, avec
	réseau ;</p></li><li><p><a name="BId-sysv-pa14"></a>4 : inutilisé ;</p></li><li><p><a name="BId-sysv-pa15"></a>5 : comme le niveau d'exécution 3, mais avec le lancement
	de l'interface de login graphique ;</p></li><li><p><a name="BId-sysv-pa16"></a>6 : redémarrage.</p></li></ul></div><p><a name="BId-sysv-pa17"></a>Intéressons-nous de plus près au contenu du
		répertoire <tt class="filename">rc5.d</tt>, par exemple :</p><a name="BId-sysv-sc6"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">$ ls rc5.d
K15postgresql@  K60atd@      S15netfs@   S60lpd@        S90xfs@
K20nfs@         K96pcmcia@   S20random@  S60nfs@        S99linuxconf@
K20rstatd@      S05apmd@     S30syslog@  S66yppasswdd@  S99local@
K20rusersd@     S10network@  S40crond@   S75keytable@
K20rwhod@       S11portmap@  S50inet@    S85gpm@
K30sendmail@    S12ypserv@   S55named@   S85httpd@
K35smb@         S13ypbind@   S55routed@  S85sound@</pre></td></tr></table><p><a name="BIdNEW-sysv-pa25"></a>Comme vous pouvez le voir, tous les fichiers de ce répertoire sont des
liens symboliques et ils ont tous une forme bien particulière. Leur
forme générale est :</p><a name="BId-sysv-sc7"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">&lt;S|K&gt;&lt;ordre&gt;&lt;nom_du_service&gt;</pre></td></tr></table><p><a name="BIdNEW-sysv-pa26"></a>Le <tt class="literal">S</tt> signifie <span class="foreignphrase"><i class="foreignphrase">Start</i></span>
(soit démarrer) le service et <tt class="literal">K</tt> signifie
<span class="foreignphrase"><i class="foreignphrase">Kill</i></span> (soit arrêter) le service. Les
scripts sont exécutés dans l'ordre des numéros croissants et si deux
scripts ont le même numéro, c'est l'ordre alphabétique qui
prévaudra. On peut voir également que chacun de ces liens symboliques
pointe vers des scripts situés dans <tt class="filename">/etc/rc.d/init.d</tt> (à
l'exception de <span><b class="command">local</b></span>), des scripts qui sont chargés de
contrôler un service bien particulier.
</p><p><a name="BId-sysv-pa18"></a>Quand le système entre dans un niveau d'exécution donné, il exécute
d'abord les liens <tt class="literal">K</tt> dans l'ordre : <span><b class="command">rc</b></span>
vérifie où pointe le lien, puis appelle le script correspondant avec
le seul argument <tt class="literal">stop</tt>. Puis il exécute les scripts
<tt class="literal">S</tt>, toujours selon la même méthode, mis à part que le
script est appelé avec l'argument <tt class="literal">start</tt>.
</p><p><a name="BId-sysv-pa19"></a>Ainsi, sans citer tous les scripts, on peut
voir que lorsque le système entre dans le niveau d'exécution 5, il
exécute d'abord <span><b class="command">K15postgresql</b></span>, c'est-à-dire
<span><b class="command">/etc/rc.d/init.d/postgresql stop</b></span>. Ensuite, il
exécute <span><b class="command">K20nfs</b></span>, <span><b class="command">K20rstatd</b></span>,
jusqu'au dernier ; enfin, il exécute tous les scripts
<tt class="literal">S</tt> : <span><b class="command">S05ampd</b></span> en premier
lieu ; ce qui invoque donc <span><b class="command">/etc/rc.d/init.d/apmd
start</b></span> et ainsi de suite.</p><p><a name="BId-sysv-pa20"></a>Armé de tout ceci, vous pouvez
   à votre guise créer un niveau d'exécution entier en quelques
   minutes (en utilisant le niveau 4, par exemple), ou empêcher le
   démarrage ou l'arrêt d'un service en effaçant le lien symbolique
   correspondant (il existe cependant des programmes graphiques pour
   ce faire, en particulier <span class="application">drakxservices</span> (voir <i class="citetitle"><a name="BId-sysv-ct1"></a>DrakXServices : configuration des services
   au démarrage</i> dans le <i class="citetitle">Guide de démarrage</i>) qui
   utilise une interface graphique, ou <span class="application">chkconfig</span> pour une
   utilisation en ligne de commande.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png"></td><th align="left">Astuce</th></tr><tr><td colspan="2" align="left" valign="top"><p><a name="BIdNEW-sysv-pa27"></a>Vous pouvez aussi utiliser la
    commande<span><b class="command">chkconfig</b></span> pour lister, ajouter ou
    retirer des services d'un niveau d'exécution donné. Voir
    <span class="citerefentry"><span class="refentrytitle"><a name="BIdNEW-sysv-rt2"></a>chkconfig</span>(8)</span>)</p></td></tr></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch11s01.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="sysv.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="ref-advanced-linux.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Au commencement était init </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> Utilisations avancées</td></tr></table></div></body></html>