<para>Welkom bij de System V Init-editor van &kde;, beter bekend (en hierna genoemd) als &ksysv;. Deze sectie is een inleiding voor een aantal concepten en legt uit wat u met &ksysv; kunt doen. </para>
<title>Een korte beschrijving van System V Init</title>
<para>De volgende uitleg is <quote>geleend</quote> van <application>tksysv</application>: </para>
<para>System V init is hard op weg om in de &Linux;-wereld de standaard te worden om het opstarten van software tijdens het booten te regelen. Dit komt doordat het eenvoudiger te gebruiken is, en krachtiger en flexibeler is dan de traditionele <acronym>BSD</acronym>-init. </para>
<para>We zullen verder niet op de geschiedenis ingaan (voornamelijk omdat ik die niet ken :-). </para>
<para>Het init-programma bevindt zich in <filename class="directory">/sbin</filename> en niet in <filename class="directory">/etc</filename>. Dit is belangrijk voor gebruikers die een computer willen opwaarderen naar System V init zonder het besturingssysteem te herinstalleren of te formatteren. De &Linux;-kernel kijkt eerst in de map <filename class="directory">/etc</filename> voor haar init-scripts, dus verzeker u ervan dat u uw oude init verwijdert als u die hebt. </para>
<para>SysV init verschilt ook van <acronym>BSD</acronym> init in het feit dat de configuratiebestanden zich in een submap van <filename class="directory">/etc</filename> bevinden, in plaats van in de map <filename class="directory">/etc</filename> zelf. Deze map heet <filename class="directory">rc.d</filename>. In die map vindt u <filename>rc.sysinit</filename> en de volgende mappen: </para>
<para><filename class="directory">init.d</filename> bevat een aantal scripts. In principe hebt u voor elke dienst die u tijdens het booten wilt starten, of wanneer u een ander runlevel ingaat, een script nodig. Diensten omvatten zaken zoals netwerken, <acronym>NFS</acronym>, &Sendmail;, httpd, &enz; Diensten omvatten geen zaken als <command>setserial</command> die eenmalig dienen te worden uitgevoerd en daarna weer afgesloten worden. Dergelijke zaken dient u in het bestand <filename>rc.local</filename> op te nemen. </para>
<para><filename>rc.local</filename>, indien aanwezig, bevindt zich in de map <filename class="directory">/etc/rc.d</filename>. De meeste systemen hebben er een, alhoewel die weinig doet. U kunt ook een bestand genaamd <filename>rc.serial</filename> aanmaken in <filename class="directory">/etc/rc.d</filename> als u tijdens het booten taken wilt laten uitvoeren die specifiek voor seriële poorten zijn. </para>
<para>De keten van gebeurtenissen ziet er als volgt uit: </para>
<para><filename>rc.init</filename> doet een aantal noodzakelijke dingen en voert vervolgens <filename>rc.serial</filename> (indien aanwezig) uit. </para>
<para>Het standaard-runlevel wordt bepaalt in het bestand <filename>/etc/inittab</filename>. Ergens bovenaan kunt u een regel als deze vinden: </para>
<screen>id:5:initdefault:</screen>
<para>In deze regel ziet u dat het standaard-runlevel 5 is. Dit is op de meeste systemen het geval. Als u dit wilt wijzigen, kunt u <filename>/etc/inittab</filename> handmatig bewerken en de 5 veranderen in een ander cijfer. Wees wel voorzichtig bij het bewerken van inittab, omdat een fout kan leiden tot het niet opstarten van Linux. Mocht u een fout maken waardoor het systeem niet goed opstart, en u gebruikt LILO als bootmanager, start Linux dan met het volgende commando: </para>
<para>&Linux; <emphasis>zou</emphasis> nu moeten opstarten in single user mode, waarin u de fout kunt herstellen. Daarnaast bieden veel moderne Linux-distributies de mogelijkheid om vanaf de installatiedisk een rescue system op te starten. </para>
<para>Hoe weet de kernel welke init-scripts uitgevoerd dienen te worden? Als u via <userinput><command>ls</command> <option>-l</option></userinput> de map <filename class="directory">rc3.d</filename> bekijkt, krijgt u ongeveer dit te zien: </para>
<para>Zoals u ziet staan er geen echte bestanden in de map. Alles is een symbolische koppeling naar de scripts in de map <filename class="directory">init.d</filename>. </para>
<para>De koppelingen hebben ook een <literal>S</literal> en een nummer aan het begin. De <literal>S</literal> betekent dat het script zal worden gestart, en een <literal>K</literal> betekent dat het zal worden gestopt. Het nummer wordt gebruikt om de volgorde te bepalen. Init zal de diensten op volgorde starten. U kunt nummers dupliceren, maar dat wekt bij uzelf alleen maar verwarring. Het enige wat u nodig hebt om diensten te starten of te stoppen is een 2-cijferig nummer en de hoofdletter <literal>S</literal> of <literal>K</literal>. </para>
<para>Hoe worden de dientsten gestart en gestopt? Eenvoudig. Elk script is zo geschreven dat het de argumenten <option>start</option> en <option>stop</option> accepteert. U kunt de scripts overigens ook zelf starten met een commando als dit: </para>
<para>om de httpd-server te stoppen. Init leest alleen de naam, en als het een <literal>K</literal> bevat wordt het script aangeroepen met het argument <option>stop</option>. Als de naam een <option>S</option> bevat, wordt het script met het argument <option>start</option> aangeroepen. </para>
<para>Sommige gebruikers willen een eenvoudige manier om hun computers voor meerdere doeleinden in te richten. Zo kan een computer een <quote>server</quote>-runlevel bevatten dat alleen httpd, sendmail, networking, &enz; draait. Daarnaast kan die computer ook een <quote>user</quote>-runlevel bevatten dat <application>tdm</application>, networking, &enz; draait. </para>
<para>In dit gedeelte leert u hoe u &ksysv; kunt gebruiken. Dit zal niet echt moeilijk zijn omdat het programma zo gebruikersvriendelijk mogelijk is opgezet. </para>
<para>&ksysv; bedienen met de muis of ander aanwijsapparaat is eenvoudig: sleep een item van het vak <guilabel>Beschikbare diensten</guilabel> naar een van de zes runlevels om het in dat runlevel te starten (of te stoppen). </para>
<para>U kunt ook scripts tussen runlevels verplaatsen, of de positie in een opgegeven runlevel veranderen, door ze naar een andere positie te slepen. Het verslepen van items binnen het vak <guilabel>Beschikbare diensten</guilabel> zelf heeft geen effect. </para>
<para>Door items te verslepen worden ze verplaatst. Om een item te kopiëren naar een ander runlevel selecteert u optie <guimenu>Kopiëren</guimenu> in het menu <guimenuitem>Bewerken</guimenuitem> of in het contextmenu, en vervolgens <guimenuitem>Plakken</guimenuitem> in het gewenste runlevel. </para>
<para>Het <quote>sorteernummer</quote> van een item kan soms niet worden berekend. In zo'n geval moet de sorteernummers van de omliggende items aanpassen voordat u opnieuw probeert de dienst in te voegen. </para>
<para>U kunt items die u naar de <guiicon>Prullenbak</guiicon> hebt versleept <emphasis>op geen enkele manier terughalen</emphasis>. Wees dus voorzichtig! </para>
<para>Gebruik de <keycap>Tab</keycap>-toets om de focus te wisselen tussen de verschillende vakken (<guilabel>Beschikbare diensten</guilabel>, <guilabel>Runlevel 1 Start</guilabel>m <guilabel>Runlevel1 Stop</guilabel>, &enz;) en de cursortoetsen om de selectie omhoog en omlaag te bewegen. </para>
<para>Om een item naar een ander runlevel te verplaatsen, <guimenuitem>knipt</guimenuitem> u het naar het klembord (via <keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo>) en <guimenuitem>plakt</guimenuitem> het in het gewenste runlevel (met <keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo>). </para>
<para>Om handmatig het sorteernummer of de naam van een van de items te wijzigen, drukt u op <keycap>Enter</keycap> om het dialoogvenster "Eigenschappen" te openen. Gebruik de <keycap>Tab</keycap>-toets om tussen de verschillende velden te springen. Sluit het dialoogvenster met de <keycap>Enter</keycap>-toets om de wijzigingen te accepteren of met <keycap>Esc</keycap> om de wijzigingen te annuleren. </para>
<para>Om gegevensverlies te voorkomen vragen alle menuopties van het menu <guimenu>Bestand</guimenu> om uw bevestiging voordat ze worden uitgevoerd. </para>
<para>Alle opties worden opgeslagen in <filename>$<envar>TDEHOME</envar>/share/config/ksysvrc</filename>. De standaardconfiguratie wordt uit het systeembestand (<filename>$<envar>TDEDIR</envar>/share/config/ksysvrc</filename>) gehaald, indien beschikbaar, en anders gegenereerd door &ksysv;. Veranderingen in de instellingen worden opgeslagen in uw lokale <filename>ksysvrc</filename>. </para>
<para>Als u <acronym>LILO</acronym> als bootmanager gebruikt, voert u <userinput>Linux single</userinput> in op de <acronym>LILO</acronym>-prompt en drukt u daarna op <keycap>Enter</keycap>. De computer start nu in single-user-modus. Bewerk het bestand <filename>/etc/inittab</filename> en verander het standaard-runlevel in een bruibare. <literal>3</literal> en <literal>5</literal> zijn het meest gebruikelijk. Mocht u een andere bootmanager gebruiken, lees dan de documentatie van uw distributie. </para>
<para>Als u SUSE of Delix (DLD) gebruikt, dient u ook een voor deze distributies specifiek bestand in de map <filename class="directory">/etc</filename> te bewerken. Lees de handboeken van uw distributie voor meer details. </para>
<para>De benadering om diensten te starten die door bovenstaande distributies gebruikt wordt, maakt het instellen van diensten eenvoudiger voor de meegeleverde eigen configuratieprogramma's. Helaas is deze benadering niet standaard. De auteurs van &ksysv; hebben een generieke extensie voor deze benadering geschreven, daarnaast is het mogelijk dat nieuwere versies van de distributies niet langer gebruik maken van hun eigen specifieke configuratie. Informeer daarom of het gebruik van dit programma(versie) mogelijk is met de distributieversie die u gebruikt. </para>
<para>Als u een andere distributie gebruikt, controleer dan of u alle configuratiebestanden die voor de dienst nodig zijn hebt, en dat ze op de luiste locaties te vinden zijn. Sommige daemons, zoals <application>Apache</application> (ook wel bekend als <command>httpd</command>), stoppen stilletjes als hun configuratiebestanden ontbreken of onjuist ingesteld zijn. </para>
<para>Deze verschillen per distributie. Deze lijst toont de opmaak van &RedHat;. Veel distributies, zoals SUSE en Mandrake volgen de opmaak van RedHat. Als u aanvullende distributies kent, stuur deze dan aan de auteur van dit document, zodat ze kunnen worden toegevoegd aan dit handboek. </para>