<para>Bienvenue dans l'éditeur d'initialisation de type System V de &kde;, plus connu sous le nom &ksysv; (et référencé ainsi par la suite). Cette section présente quelques concepts et explique ce que vous pouvez faire avec &ksysv;. </para>
<title>Une brève description de l'initialisation de type System V</title>
<para>L'explication qui suit a été <quote>empruntée</quote> à <application>tksysv</application> (une source d'inspiration pour &ksysv;): </para>
<para>L'initialisation de type System V est en passe de devenir le standard dans le monde &Linux; pour contrôler le démarrage logiciel en phase d'amorçage. Cela est dû au fait que cette méthode est plus facile d'utilisation et plus flexible que l'initialisation traditionnelle de type <acronym>BSD</acronym>. </para>
<para>Je ne vais pas entrer dans les détails historiques ici (essentiellement parce que je ne les connais pas!). </para>
<para>L'exécutable init se trouve dans <filename class="directory">/sbin</filename> et non dans <filename class="directory">/etc</filename>. C'est important, car on pourrait être tenté de passer une machine en initialisation de type System V sans la réinstaller ni la reformater. Le noyau &Linux; cherche son programme d'initialisation en priorité dans <filename class="directory">/etc</filename>, il convient donc de vous assurer que votre ancien exécutable d'initialisation éventuel s'y trouvant n'existe plus. </para>
<para>L'initialisation de SysV diffère également de celle de <acronym>BSD</acronym> dans la mesure où ses fichiers de configuration se trouvent dans un sous-dossier de <filename class="directory">/etc</filename> au lieu de résider directement dans <filename class="directory">/etc</filename>. Ce dossier s'appelle <filename class="directory">rc.d</filename>. Vous y trouverez <filename>rc.sysinit</filename> ainsi que les dossiers suivants: </para>
<para>Le dossier <filename class="directory">init.d</filename> contient un tas de scripts. Pour schématiser, vous avez besoin d'un script pour chaque service que vous souhaitez démarrer au moment de l'amorçage ou lorsque vous passez à un autre niveau d'exécution. Les services comprennent des choses telles que le support du réseau, <acronym>NFS</acronym>, &Sendmail;, httpd, &etc; Les services ne comprennent pas des choses telles que <command>setserial</command> qui doivent être lancées une fois puis s'achever. De telles initialisations devraient aller dans <filename>rc.local</filename>. </para>
<para>Si vous souhaitez utiliser <filename>rc.local</filename>, il devrait se trouver dans <filename class="directory">/etc/rc.d</filename>. La plupart des systèmes contiennent ce fichier même s'il ne fait pas grand-chose. Si vous avez besoin de procéder à des opérations spécifiques au port série lors de l'amorçage, vous pouvez également placer un fichier <filename>rc.serial</filename> dans <filename class="directory">/etc/rc.d</filename>. </para>
<para>L'enchaînement des événements se déroule comme suit: </para>
<para>Le niveau d'exécution par défaut est défini dans <filename>/etc/inittab</filename>. Vous devriez trouver en début de fichier une ligne ressemblant à : </para>
<screen>id:3:initdefault:</screen>
<para>Vous pouvez déduire de ce qui est spécifié dans la deuxième colonne que le niveau d'exécution par défaut est 3, ce qui devrait être le cas sur la plupart des systèmes. Si vous désirez modifier cette valeur, vous pouvez éditer <filename>/etc/inittab</filename> à la main et changer le 3. Soyez très prudent lorsque vous modifiez inittab. Si vous cassez tout, vous pouvez vous en sortir en réamorçant et en saisissant: </para>
<para>Cela <emphasis>devrait</emphasis> vous permettre de réamorcer en mode monoutilisateur, vous laissant ainsi l'opportunité de réparer les dégâts. </para>
<para>Mais comment les différents scripts sont-ils exécutés? Si vous tapez <userinput><command>ls</command> <option>-l</option></userinput> dans <filename class="directory">rc3.d</filename>, vous devriez voir quelque chose du genre: </para>
<para>Vous remarquerez ici qu'il n'y a pas vraiment de fichiers dans le dossier. Tout ce qui s'y trouve, ce sont des liens vers les scripts du dossier <filename class="directory">init.d</filename>. </para>
<para>De plus, le nom des liens commence par <literal>S</literal> suivi d'un nombre. Le <literal>S</literal> indique qu'on démarre le script en question (Start en anglais) et le <literal>K</literal> signifie qu'on l'arrête (Kill en anglais). Le nombre sert uniquement à ordonner les scripts. Init démarrera les services dans l'ordre où ils apparaissent. Vous pourriez utiliser deux fois le même nombre, mais ça ne servirait qu'à générer de la confusion. Vous n'avez besoin que d'un nombre de deux chiffres précédé d'un <literal>S</literal> ou d'un <literal>K</literal> majuscule pour démarrer ou arrêter le service qui vous interesse. </para>
<para>Comment démarrer ou arrêter des services? C'est simple. Chaque script est écrit de telle sorte qu'il accepte un argument qui peut être <option>start</option> ou <option>stop</option>. Vous pouvez en fait exécuter ces scripts à la main à l'aide d'une commande comme: </para>
<para>Pour arrêter le serveur httpd, init se contente de lire le nom, et s'il commence par <literal>K</literal>, il appelle le script avec l'argument <option>stop</option>. S'il commence par <option>S</option>, il démarre le script avec l'argument <option>start</option>. </para>
<title>Pourquoi tous ces niveaux d'exécution?</title>
<para>Certaines personnes veulent un moyen simple de configurer les machines pour plusieurs usages. Je pourrais définir un niveau d'exécution <quote>serveur</quote> qui ne lance que httpd, sendmail, networking, &etc; Puis je pourrais avoir un niveau d'exécution <quote>utilisateur</quote> qui lance <application>tdm</application>, le support du réseau, &etc; </para>
<para>Cette section vous apprend à utiliser &ksysv;, ce qui ne devrait pas être difficile, car il a été conçu pour être aussi convivial que possible. </para>
<para>L'utilisation de &ksysv; à la souris ou un autre périphérique de pointage est simple: faites glisser un élément de la zone des <guilabel>services disponibles</guilabel> vers un des six niveaux d'exécution pour le démarrer (ou l'arrêter) à ce niveau d'exécution. </para>
<para>Vous pouvez également faire passer des scripts d'un niveau d'exécution à l'autre, ou changer leur position au sein d'un niveau d'exécution donné grâce au glisser-déposer. En procédant ainsi, vous retirez l'élément de son niveau d'exécution ou de sa position originels, ce qui n'est pas le cas lorsque vous faites glisser un élément depuis la zone des <guilabel>services disponibles</guilabel>. </para>
<para>Les éléments sont déplacés quand vous les faites glisser vers une nouvelle zone. Pour copier un service dans un niveau d'exécution différent, vous devez sélectionner <guimenuitem>Copier</guimenuitem> dans le menu <guimenu>Édition</guimenu> ou dans le menu contextuel, et le <guimenuitem>Coller</guimenuitem> dans le niveau d'exécution de destination. </para>
<para>Le <quote>numéro d'ordre</quote> d'un élément ne peut parfois pas être calculé. Dans un tel cas, il convient de modifier le numéro d'ordre des éléments voisins avant de réessayer d'insérer le service. </para>
<para>Vous pouvez supprimer des éléments en les faisant glisser vers la <guiicon>Corbeille</guiicon> (symbolisée par une icône représentant une poubelle). </para>
<para>Pour le moment, il n'y a <emphasis>pas</emphasis> de moyen de récupérer des éléments glissés à la <guiicon>Corbeille</guiicon>, alors soyez prudent! </para>
<para>Vous pouvez utiliser la touche de <keycap>tabulation</keycap> pour passer d'une zone de l'écran à la suivante (<guilabel>Services disponibles</guilabel>, <guilabel>Niveau d'exécution 1 Démarrer</guilabel>, <guilabel>Niveau d'exécution 1 Arrêter</guilabel>, &etc;) ainsi que les touches fléchées pour déplacer la sélection de haut en bas et de bas en haut. </para>
<para>Pour déplacer un élément vers un niveau d'exécution différent, <guimenuitem>couper</guimenuitem>-le vers le presse-papiers (en utilisant <keycombo action="simul">&Ctrl; <keycap>X</keycap></keycombo>) et <guimenuitem>coller</guimenuitem>-le dans le niveau d'exécution de destination (avec <keycombo action="simul">&Ctrl; <keycap>V</keycap></keycombo>). </para>
<para>Pour changer à la main le numéro d'ordre des éléments ou leur nom, appuyez sur <keycap>Entrée</keycap> pour ouvrir la boîte de dialogue des propriétés. Utilisez la touche de <keycap>tabulation</keycap> pour passer d'un champ au suivant. Fermez la boîte de dialogue en appuyant sur <keycap>Entrée</keycap> pour valider les modifications, ou appuyez sur <keycap>Échap</keycap> pour annuler les changements. </para>
<para>À cause du risque de perte de données, tous les éléments du menu <guimenu>Fichier</guimenu> demandent confirmation avant d'exécuter leur fonction. </para>
<para><action>Rend vos modifications permanentes</action>. Il n'y a pas de fichiers de récupération créés lors de l'enregistrement, utilisez donc cette fonction avec prudence. </para>
<para>Toutes les options sont enregistrées dans <filename>$<envar>TDEHOME</envar>/share/config/ksysvrc</filename>. Les valeurs par défaut sont prises dans le fichier de portée globale (<filename>$<envar>TDEDIR</envar>/share/config/ksysvrc</filename>), s'il existe, sinon elles sont déterminées par &ksysv; lui-même. Les changements apportés aux valeurs par défaut sont enregistrés dans votre fichier de portée locale <filename>ksysvrc</filename>. </para>
<para>Saisissez <userinput>linux single</userinput> à l'invite de <acronym>LILO</acronym>, et appuyez sur <keycap>Entrée</keycap> afin de redémarrer en mode monoutilisateur. Modifiez le fichier <filename>/etc/inittab</filename> et choisissez une valeur autorisée comme niveau d'exécution par défaut. <literal>3</literal> devrait normalement convenir. </para>
<para>Si vous utilisez les distributions SuSE ou Delix (DLD), vous devez également modifier un fichier spécifique à la distribution dans <filename class="directory">/etc</filename>. Veuillez consulter le manuel de votre distribution pour plus de détails. </para>
<para>L'approche de ces distributions pour démarrer des services rend la configuration des services facile avec les outils de configuration que ces distributions utilisent, mais c'est malheureusement non standard. Les auteurs de &ksysv; prévoient d'écrire une extension générique pour cette approche un jour ou l'autre, mais n'espérez pas de résultats dans un délai trop proche. </para>
<para>Si vous utilisez une distribution différente, veuillez vérifier que vous avez tous les fichiers de configuration nécessaires pour le service, et qu'ils sont aux emplacements corrects. Certains démons comme <application>Apache</application> (alias <command>httpd</command>) meurent simplement en silence lorsque leurs fichiers de configuration sont absents ou incorrects. </para>
<para>Elles varie en fonction de la distribution, c'est pourquoi ce qui suit est une liste incomplète des distributions &Linux; les plus courantes. Si vous avez une autre distribution, veuillez adresser un courrier à l'auteur pour ajouter les informations correspondant à cette distribution à ce manuel. </para>