# Het handboek van &ksysv;

Peter Putzer

    putzer@kde.org

&Niels.Reedijk;&Rinse.Devries;&Natalie.Koning;
2001-03-21
1.03.06
1998 2000 2001 Peter Putzer
&FDLNotice;

&ksysv; is een grafische editor voor de SysV-stijl init-configuratie.

KDE KSysV Runlevel Runlevel-editor System V init

## Inleiding

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.

## Een korte beschrijving van System V Init

De volgende uitleg is geleend van tksysv:

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 BSD-init.

We zullen verder niet op de geschiedenis ingaan (voornamelijk omdat ik die niet ken :-).

Het init-programma bevindt zich in `/sbin` en niet in `/etc`. 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 `/etc` voor haar init-scripts, dus verzeker u ervan dat u uw oude init verwijdert als u die hebt.

SysV init verschilt ook van BSD init in het feit dat de configuratiebestanden zich in een submap van `/etc` bevinden, in plaats van in de map `/etc` zelf. Deze map heet `rc.d`. In die map vindt u `rc.sysinit` en de volgende mappen:

- `init.d/`

- `rc0.d/`

- `rc1.d/`

- `rc2.d/`

- `rc3.d/`

- `rc4.d/`

- `rc5.d/`

- `rc6.d/`

`init.d` 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, NFS, &Sendmail;, httpd, &enz; Diensten omvatten geen zaken als `setserial` die eenmalig dienen te worden uitgevoerd en daarna weer afgesloten worden. Dergelijke zaken dient u in het bestand `rc.local` op te nemen.

`rc.local`, indien aanwezig, bevindt zich in de map `/etc/rc.d`. De meeste systemen hebben er een, alhoewel die weinig doet. U kunt ook een bestand genaamd `rc.serial` aanmaken in `/etc/rc.d` als u tijdens het booten taken wilt laten uitvoeren die specifiek voor seriële poorten zijn.

De keten van gebeurtenissen ziet er als volgt uit:

1. De kernel zoekt op diverse plaatsen naar init en draait de eerste die gevonden wordt.

2. init draait `/etc/rc.d/rc.sysinit`.

3. `rc.init` doet een aantal noodzakelijke dingen en voert vervolgens `rc.serial` (indien aanwezig) uit.

4. init voert `rc.local` uit

5. init voert alle scripts uit van het standaard-runlevel

Het standaard-runlevel wordt bepaalt in het bestand `/etc/inittab`. Ergens bovenaan kunt u een regel als deze vinden:

    id:5:initdefault:

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 `/etc/inittab` 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:

    LILO boot: linux single

&Linux; zou 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.

Hoe weet de kernel welke init-scripts uitgevoerd dienen te worden? Als u via ``ls` `-l`` de map `rc3.d` bekijkt, krijgt u ongeveer dit te zien:

    lrwxrwxrwx 1 root root 13 13:11 S10network -> ../init.d/network
    lrwxrwxrwx 1 root root 16 13:11 S30syslog -> ../init.d/syslog
    lrwxrwxrwx 1 root root 14 13:32 S40cron -> ../init.d/cron
    lrwxrwxrwx 1 root root 14 13:11 S50inet -> ../init.d/inet
    lrwxrwxrwx 1 root root 13 13:11 S60nfs -> ../init.d/nfs
    lrwxrwxrwx 1 root root 15 13:11 S70nfsfs -> ../init.d/nfsfs
    lrwxrwxrwx 1 root root 18 13:11 S75keytable -> ../init.d/keytable
    lrwxrwxrwx 1 root root 23 13:11 S80sendmail -> ../init.d/sendmail.init
    lrwxrwxrwx 1 root root 18 13:11 S90lpd -> ../init.d/lpd.init
    lrwxrwxrwx 1 root root 11 13:11 S99local -> ../rc.local

Zoals u ziet staan er geen echte bestanden in de map. Alles is een symbolische koppeling naar de scripts in de map `init.d`.

De koppelingen hebben ook een `S` en een nummer aan het begin. De `S` betekent dat het script zal worden gestart, en een `K` 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 `S` of `K`.

Hoe worden de dientsten gestart en gestopt? Eenvoudig. Elk script is zo geschreven dat het de argumenten `start` en `stop` accepteert. U kunt de scripts overigens ook zelf starten met een commando als dit:

    /etc/rc.d/init.d/httpd.init stop

om de httpd-server te stoppen. Init leest alleen de naam, en als het een `K` bevat wordt het script aangeroepen met het argument `stop`. Als de naam een `S` bevat, wordt het script met het argument `start` aangeroepen.

### Vanwaar al die runlevels?

Sommige gebruikers willen een eenvoudige manier om hun computers voor meerdere doeleinden in te richten. Zo kan een computer een server-runlevel bevatten dat alleen httpd, sendmail, networking, &enz; draait. Daarnaast kan die computer ook een user-runlevel bevatten dat kdm, networking, &enz; draait.

## Grondbeginselen

In dit gedeelte leert u hoe u &ksysv; kunt gebruiken. Dit zal niet echt moeilijk zijn omdat het programma zo gebruikersvriendelijk mogelijk is opgezet.

### Muis

&ksysv; bedienen met de muis of ander aanwijsapparaat is eenvoudig: sleep een item van het vak Beschikbare diensten naar een van de zes runlevels om het in dat runlevel te starten (of te stoppen).

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 Beschikbare diensten zelf heeft geen effect.

Door items te verslepen worden ze verplaatst. Om een item te kopiëren naar een ander runlevel selecteert u optie Kopiëren in het menu Bewerken of in het contextmenu, en vervolgens Plakken in het gewenste runlevel.

Het sorteernummer 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.

Sorteernummers dienen te liggen tussen 00 en 99.

U kunt items verwijderen door ze naar de Prullenbak te slepen.

U kunt items die u naar de Prullenbak hebt versleept op geen enkele manier terughalen. Wees dus voorzichtig!

### Toetsenbord

Gebruik de Tab-toets om de focus te wisselen tussen de verschillende vakken (Beschikbare diensten, Runlevel 1 Startm Runlevel1 Stop, &enz;) en de cursortoetsen om de selectie omhoog en omlaag te bewegen.

Om een item naar een ander runlevel te verplaatsen, knipt u het naar het klembord (via &Ctrl;X) en plakt het in het gewenste runlevel (met &Ctrl;V).

Om handmatig het sorteernummer of de naam van een van de items te wijzigen, drukt u op Enter om het dialoogvenster "Eigenschappen" te openen. Gebruik de Tab-toets om tussen de verschillende velden te springen. Sluit het dialoogvenster met de Enter-toets om de wijzigingen te accepteren of met Esc om de wijzigingen te annuleren.

### De menuopties

Een beschrijving van &ksysv;'s menu.

#### Het menu Bestand

Om gegevensverlies te voorkomen vragen alle menuopties van het menu Bestand om uw bevestiging voordat ze worden uitgevoerd.

Bestand Vorige configuratie herstellen...

  Verwijdert alle veranderingen die u hebt gemaakt en zet de configuratie terug naar de laatst opgeslagen versie.

&Ctrl; O Bestand Openen...

  Opent een eerder opgeslagen configuratie.

&Ctrl; S Bestand Configuratie opslaan

  Maakt uw wijzigingen permanent. Er worden geen reservekopieën aangemaakt, wees dus voorzichtig.

Bestand Opslaan als...

  Slaat een kopie op van uw nieuwe configuratie.

&Ctrl; L Bestand Log opslaan...

  Slaat een logbestand op

&Ctrl; P Bestand Log afdrukken...

  Druk het logbestand af.

&Ctrl; Q Bestand Afsluiten

  Beëindigt &ksysv;.

#### Het menu Bewerken

&Ctrl; Z Bewerken Ongedaan maken

  Maakt de laatste onopgeslagen wijziging ongedaan.

&Ctrl; Shift Z Bewerken Opnieuw

  Voert de laatste handeling die ongedaan is gemaakt opnieuw uit.

&Ctrl; X Bewerken Knippen

  Knipt de momenteel geselecteerde dienst naar het klembord.

&Ctrl; C Bewerken Kopiëren

  Kopieert de geselecteerde dienst naar het klembord, zonder dat het van de oorspronkelijke positie wordt verwijderd.

&Ctrl; V Bewerken Plakken

  Plakt de inhoud van het klembord op de huidige cursorpositie.

Bewerken Eigenschappen

  Opent het dialoogvenster "Eigenschappen" van de geselecteerde dienst.

#### Het menu Hulpmiddelen

Hulpmiddelen Dienst starten...

  Start de geselecteerde dienst

Hulpmiddelen Dienst stoppen...

  Stopt de geselecteerde dienst

Hulpmiddelen Dienst herstarten...

  Herstart de geselecteerde dienst.

Hulpmiddelen Dienst bewerken...

  Bewerkt de geselecteerde dienst

#### Het Instellingen menu

Instellingen Werkbalk tonen

  Toont of verbergt de werkbalk.

Instellingen Statusbalk tonen

  Toont of verbergt de statusbalk.

Instellingen Log tonen

  Toont of verbergt het logvenster

Instellingen Instellingen opslaan

  Slaat uw huidige instellingen op.

Instellingen Sneltoetsen instellen...

  Opent een dialoogvenster waarin u de standaardsneltoetsen kunt wijzigen.

Instellingen Werkbalken instellen...

  Opent een dialoogvenster waarin u de werkbalk kunt instellen.

Instellingen SysV Init Editor instellen...

  Verander het gedrag van &ksysv;

#### Het menu Help

&help.menu.documentation;

## Configuratie

Alle opties worden opgeslagen in `$`KDEHOME`/share/config/ksysvrc`. De standaardconfiguratie wordt uit het systeembestand (`$`KDEDIR`/share/config/ksysvrc`) gehaald, indien beschikbaar, en anders gegenereerd door &ksysv;. Veranderingen in de instellingen worden opgeslagen in uw lokale `ksysvrc`.

### Herkende secties

Herkende secties en sleutels en hun standaardwaarden.

#### [Padinstellingen]

Trefwoord Standaard Beschrijving
- Scriptpad `/etc/rc.d/init.d` Pad naar het script dat wordt gebruikt voor het starten en stoppen van diensten.
- Runlevelpad `/etc/rc.d` Pad naar de submappen voor de runlevels.

#### [Kleuren]

Trefwoord Standaard Beschrijving
- Gewijzigd rood Kleur die wordt gebruikt voor gewijzigde items
- Nieuw blauw Kleur die wordt gebruikt voor nieuwe items

#### [Geometrie]

Trefwoord Standaard Beschrijving
- Breedte Breedte van het venster van &ksysv;
- Hoogte Hoogte van het venster van &ksysv;

#### [Overige instellingen]

Trefwoord Standaard Beschrijving
- Werkbalk true Of de werkbalk actief is of niet
- Statusbalk true Of de statusbalk actief is of niet
- ShowLog true Of het logvenster wordt getoond of niet
- PanningFactor 80 100 - PanningFactor = percentage van het venster dat is gereserveerd voor het weergeven van het logbestand

## Vraag en antwoord

Ik heb het runlevel gewijzigd, en nu blijft mijn computer de hele tijd opstarten. Wat kan ik hieraan doen?

Als u LILO als bootmanager gebruikt, voert u `Linux single` in op de LILO-prompt en drukt u daarna op Enter. De computer start nu in single-user-modus. Bewerk het bestand `/etc/inittab` en verander het standaard-runlevel in een bruibare. `3` en `5` zijn het meest gebruikelijk. Mocht u een andere bootmanager gebruiken, lees dan de documentatie van uw distributie.

Mijn computer sluit meteen af na het opstarten

Zie vraag 1, hierboven.

Ik heb een aantal diensten in runlevel X geplaatst met behulp van &ksysv;. Maar waarom werken die niet?

Als u SUSE of Delix (DLD) gebruikt, dient u ook een voor deze distributies specifiek bestand in de map `/etc` te bewerken. Lees de handboeken van uw distributie voor meer details.

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.

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 Apache (ook wel bekend als `httpd`), stoppen stilletjes als hun configuratiebestanden ontbreken of onjuist ingesteld zijn.

## Standaardopmaak van runlevels

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.

&RedHat;
  Runlevel 0:

    halt (sluit de computer af)

  Runlevel 1:

    Single user mode (enkelvoudige gebruikermodus).

  Runlevel 2:

    Multi-user, alleen tekst en zonder NFS.

  Runlevel 3:

    Multi-user, alleen tekst, met volledige netwerkondersteuning.

  Runlevel 4:

    Ongebruikt.

  Runlevel 5:

    Multi-user, X11 met volledige netwerkondersteuning.

  Runlevel 6:

    Herstarten

## Dankbetuigingen en licenties

&ksysv; copyright © 1997-1998 Peter Putzer

- Peter Putzer, putzer@kde.org - Ontwikkelaar

Documentatie:

- Peter Putzer, putzer@kde.org - Oorspronkelijke inhoud

- Eric Bischoff, e.bischoff@noos.fr - schrijver

&meld.fouten;&vertaling.niels;&vertaling.rinse;&nagelezen.natalie; &underFDL; &underGPL;

## Installatie

&install.intro.documentation; &install.compile.documentation;