# Handbok &ksysv;

## Inledning

Välkommen till &kde;:s SysV-starteditor, vanligen känd som (och hädanefter kallad) &ksysv;. Det här avsnittet tar upp några begrepp och förklarar vad man kan göra med &ksysv;.

## En kort beskrivning av System V-start

Följande förklaring är lånad av tksysv (en inspirationskälla för &ksysv;).

System V-start är snabbt på väg att bli standardiserad i &Linux;-världen för att styra uppstart av programvara när datorn startas. Det här beror på att den utan tvekan är lättare att använda, mer kraftfull och flexibel än den traditionella BSD-starten.

Jag tar inte upp historien här (huvudsakligen eftersom jag inte känner till den.

Binärfilen init finns i `/sbin` och inte i `/etc`. Det här är viktigt eftersom man kan försöka att uppdatera en maskin till System V-start utan att installera om och formatera om. &Linux;-kärnan tittar först i `/etc` efter init, så du måste försäkra dig om att den gamla init tas bort därifrån om den finns.

SysV-start skiljer sig också från BSD-start på det sättet att konfigurationsfilerna finns i en underkatalog i `/etc` istället för att ligga direkt i `/etc`. Den här katalogen heter `rc.d`. I den hittar du `rc.sysinit` och följande kataloger:

- `init.d/`

- `rc0.d/`

- `rc1.d/`

- `rc2.d/`

- `rc3.d/`

- `rc4.d/`

- `rc5.d/`

- `rc6.d`

`init.d` innehåller en samling med skript. I huvudsak behövs ett skript för varje tjänst som man behöver köra när datorn startas eller när en annan körnivå aktiveras. En tjänst omfattar sådant som nätverkshantering, NFS, &Sendmail;, httpd, etc. En tjänst omfattar inte sådant som `setserial` som bara ska köras en gång och sedan avslutas. Sådant hör hemma i filen `rc.local`.

`rc.local` ska finnas i `/etc/rc.d` om du vill ha en. De flesta system har en även om den inte gör mycket. Du kan också lägga till en `rc.serial` i `/etc/rc.d`, om du behöver göra särskilda saker med serieportar när datorn startas.

Kedjan av händelser är följande:

1. Kärnan letar på flera ställen efter init och kör den första som den hittar.

2. init kör `/etc/rc.d/rc.sysinit`.

3. `rc.sysinit` gör ett antal nödvändiga saker och kör sedan `rc.serial` (om den finns)

4. init kör `rc.local`

5. init kör alla skript för den förvalda körnivån

Den förvalda körnivån bestäms i `/etc/inittab`. Du bör ha en rad nära början som ser ut så här:

    id:3:initdefault:

Här kan du se, genom att titta i andra kolumnen, att den förvalda körnivån är 3, vilket bör gälla för de flesta system. Om du vill ändra den, kan du redigera `/etc/inittab` för hand och ändra siffran 3. Var mycket försiktig när du rotar i inittab. Om du ställer till det, kan du komma åt att rätta till det genom att starta om och skriva:

    LILO boot: linux single

Det här ska låta dig starta i enanvändarläge så att du kan rätta till det.

Nå, hur körs alla de rätta skripten? Om du skriver ``ls` `-l`` i `rc3.d`, ser du något som liknar:

    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

Vad du ser är att det inte finns några riktiga filer i katalogen. Allt är länkar till ett av skripten i katalogen `init.d`.

Länkarna har också ett `S` och ett tal i början. `S` betyder att just det här skriptet ska startas och ett `K` betyder att det ska stoppas. Talet finns där bara för att ordna skripten. Init startar varje tjänst i den ordningen som de syns. Du kan upprepa samma tal, men det förvirrar dig bara en del. Du måste bara använda ett tal med två siffror, tillsammans med ett stort `S` eller `K` för att starta eller stoppa en tjänst enligt behov.

Hur startas och stoppas en tjänst? Enkelt. Varje skript är skrivet för att ta emot en väljare som kan vara `start` och `stop`. I själva verket kan du köra skripten för hand med ett kommando som:

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

För att stoppa httpd-servern. Init läser bara namnet och om det har ett `K`, anropar det skriptet med väljaren `stop`. Om det har ett `S` anropar det skriptet med väljaren `start`.

### Varför alla de här körnivåerna?

Vissa personer vill ha ett enkelt sätt att ställa in datorer för flera syften. Man skulle kunna ha en server-körnivå som bara kör httpd, sendmail, networking, etc. Dessutom skulle man kunna ha en användar-körnivå som kör kdm, nätverkshantering, etc.

## Grundläggande skärmanvändning

Här kan du lära dig hur &ksysv; används, vilket inte borde vara svårt eftersom det konstruerades för att vara så användarvänligt som möjligt.

### Mus

Att använda &ksysv; med en mus eller annat pekdon är lätt: dra bara en post från området Tillgängliga tjänster till en av de sex körnivåerna för att starta (eller stoppa) den för körnivån.

Du kan också flytta skript mellan körnivåer, eller ändra platsen i en given körnivå, genom att dra runt dem. Att göra detta tar bort posten från dess ursprungliga körnivå (eller plats). Det här sker inte när du drar en post från området Tillgängliga tjänster.

Poster flyttas när du drar dem till ett nytt område. För att kopiera en tjänst till en annan körnivå, måste du välja Kopiera i menyn Redigera eller den sammanhangsberoende menyn och Klistra in den i körnivån den ska till.

En posts sorteringstal kan ibland inte beräknas. För sådana fall måste du redigera sorteringstalen för omgivande poster innan du försöker att stoppa in tjänsten igen.

Sorteringstal kan gå från 00 till 99, men inte högre.

Du kan ta bort poster genom att dra dem till området med Papperskorgen (som symboliseras av ikonen som visar en soptunna).

För närvarande finns det inget sätt att få tillbaka poster som har dragits till Papperskorgen, så var försiktig!

### Tangentbord

Du kan använda Tab-tangenten för att byta fokus mellan olika rutor (Tillgängliga tjänster, Körnivå 1 Starta, Körnivå 1 Stoppa, etc.) och piltangenterna för att flytta markeringen upp och ner.

För att flytta en post till en annan körnivå, Klipp ut den till klippbordet (med &Ctrl; X och Klistra in den i körnivån dit den ska (med &Ctrl; V).

För att ändra posternas sorteringsnummer eller namn för hand, tryck på returtangenten för att öppna dialogrutan med egenskaper. Använd Tab-tangenten för att byta mellan olika fält. Stäng dialogrutan genom att trycka på returtangenten för att acceptera ändringarna, eller tryck på Esc för att avbryta alla ändringar.

### Menyalternativen

En beskrivning av &ksysv;s menyer i tur och ordning.

#### Menyn Arkiv

På grund av risken för att data går förlorad, begär alla menyalternativ under Arkiv att du bekräftar åtgärden innan den utförs.

Arkiv Ångra inställningar...

- Glöm alla ändringar som du har gjort och återgå till den senast sparade konfigurationen.

&Ctrl; O Arkiv Öppna...

- Öppna en tidigare sparad konfiguration.

&Ctrl; S Arkiv Spara inställningar

- Gör dina ändringar bestående. Att spara skapar inga säkerhetskopior, så använd detta med försiktighet.

Arkiv Spara som...

- Spara en kopia av den nya konfigurationen.

&Ctrl; L Arkiv Spara logg...

- Spara en logg

&Ctrl; P Arkiv Skriv ut logg...

- Skriv ut en kopia av loggen.

&Ctrl; Q Arkiv Avsluta

- Avsluta &ksysv;.

#### Menyn Redigera

&Ctrl; Z Redigera Ångra

- Ångra den senaste osparade ändringen som gjorts.

&Ctrl; Skift Z Redigera Gör om

- Gör om den senast ångrade ändringen.

&Ctrl; X Redigera Klipp ut

- Klipp ut tjänsten som för närvarande är vald till klippbordet.

&Ctrl; C Redigera Kopiera

- Kopiera posten som för närvarande är vald till klippbordet, utan att ta bort den från dess ursprungliga plats.

&Ctrl; V Redigera Klistra in

- Klistra in innehållet från klippbordet på markörens nuvarande plats.

Redigera Egenskaper

- Öppna dialogrutan med egenskaper för den valda posten.

#### Menyn Verktyg

Verktyg Starta tjänst...

- Starta den valda tjänsten

Verktyg Stoppa tjänst...

- Stoppa den valda tjänsten

Verktyg Starta om tjänst...

- Starta om den valda tjänsten.

Verktyg Redigera tjänst...

- Redigera den valda tjänsten

#### Menyn Inställningar

Inställningar Visa verktygsrad

- Växla visning av och på för verktygsraden.

Inställningar Visa statusrad

- Växla visning av och på för statusraden.

Inställningar Visa logg

- Växla visning av och på för loggfönstret.

Inställningar Spara inställningar

- Spara dina nuvarande inställningar.

Inställningar Anpassa tangentbindningar...

- Anpassar förvalda tangentbindningar.

Inställningar Anpassa verktygsrader...

- Anpassar verktygsraden.

Inställningar Anpassa SysV-starteditor...

- Anpassar beteendet hos &ksysv;

#### Menyn Hjälp

&help.menu.documentation;

## Anpassning

Alla alternativ sparas i `$`KDEHOME`/share/config/ksysvrc`. Förvalda värden tas från den globala filen (`$`KDEDIR`/share/config/ksysvrc`), om den finns, eller skapas annars internt i &ksysv;. Ändringar av förvalda värden lagras i den lokala `ksysvrc`.

### Sektioner som känns igen

Sektioner som känns igen och deras förvalda värden.

#### [Path Settings]

Keyword Default Description
- ScriptPath `/etc/rc.d/init.d` Path to the scripts used for starting and stopping services.
- RunlevelPath `/etc/rc.d` Path to the runlevel subdirectories.

#### [Colors]

Keyword Default Description
- Changed red Color used for changed entries
- New blue Color used for new entries

#### [Geometry]

Keyword Default Description
- Width Width of &ksysv;'s window
- Height Height of &ksysv;'s

#### [Other Settings]

Keyword Default Description
- ToolBar true If the toolbar is enabled or not
- StatusBar true If the statusbar is enabled or not
- ShowLog true If the log window is shown or not
- PanningFactor 80 100 - PanningFactor = percentage of window reserved for the logfile display

## Vanliga frågor

Jag lekte med den förvalda körnivån, och nu startar min dator om hela tiden. Vad ska jag göra?

Skriv in `linux single` vid LILO-prompten, och tryck på returtangenten för att starta med enanvändarläge. Redigera filen `/etc/inittab` och ändra den förvalda körnivån till något vettigt. `3` är normalt säkert.

Min dator stannar igen precis efter den har startat

Se fråga 1, ovan.

Jag har schemalagt några tjänster som ska köras i körnivå X med &ksysv;, men varför fungerar de inte?

Om du använder distributioner från SuSE eller Delix (DLD), måste du också redigera en fil som är specifik för varje distribution i `/etc`. Titta i distributionens handbok för detaljer.

Sättet att starta tjänster som används av ovannämnda distributioner gör det lätt att hantera konfiguration av tjänster för de egna konfigurationsverktygen som de här distributionerna tillhandahåller, men det är tyvärr inte standardiserat. Upphovsmännen till &ksysv; planerar skriva en generell utökning för att hantera det här sättet någon gång i framtiden, men vänta inte alltför ivrigt.

Om du använder en annan distribution, kontrollera att du har alla konfigurationsfiler som behövs av tjänsten, och om de finns på rätt plats. Vissa demoner, till exempel Apache (också kallad `httpd`), avslutas bara utan något meddelande om deras konfigurationsfiler saknas eller är felaktiga.

## Vanlig semantik för körnivåer

Den här varierar beroende på distributionen, så det här är en ofullständig lista för de vanligaste &Linux;-distributionerna. Om du har ytterligare distributioner, skicka gärna e-post till författaren så att informationen kan läggas till i den här handboken.

&RedHat;

- Körnivå 0:

- Stanna (stänger av datorn)

Körnivå 1:

- Enanvändarläge.

Körnivå 2:

- Fleranvändare bara text, utan NFS.

Körnivå 3:

- Fleranvändare bara text, med fullständig nätverkshantering.

Körnivå 4:

- Används inte.

Körnivå 5:

- Fleranvändare X11 med fullständig nätverkshantering.

Körnivå 6:

- Starta om

## Licens och tack till

&ksysv; Copyright © 1997-1998 Peter Putzer

- Peter Putzer, putzer@kde.org - Utvecklare

Dokumentation:

- Peter Putzer, putzer@kde.org - Ursprungligt innehåll

- Eric Bischoff, e.bischoff@noos.fr - Redaktör

Översättning Stefan Asserhäll stefan.asserhall@telia.com

&underFDL; &underGPL;

## Installation

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