]> 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: De kernel zoekt op diverse plaatsen naar init en draait de eerste die gevonden wordt. init draait /etc/rc.d/rc.sysinit. rc.init doet een aantal noodzakelijke dingen en voert vervolgens rc.serial (indien aanwezig) uit. init voert rc.local uit 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 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 en accepteert. U kunt de scripts overigens ook zelf starten met een commando als dit: /etc/rc.d/init.d/httpd.init om de httpd-server te stoppen. Init leest alleen de naam, en als het een K bevat wordt het script aangeroepen met het argument . Als de naam een bevat, wordt het script met het argument 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 <guimenu >Bestand</guimenu > 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 <guimenu >Bewerken</guimenu > &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 <guimenu >Hulpmiddelen</guimenu > 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 <guimenu >Instellingen</guimenu > 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 <guimenu >Help</guimenu > &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;