# &ksysv;-håndbogen

Peter Putzer

    putzer@kde.org

&erik.kjaer.pedersen.role;
2001-03-21
1.03.06
1998 2000 2001 Peter Putzer
&FDLNotice;

&ksysv; er en grafisk editor for SysV stil init-indstilling.

KDE KSysV Køreniveau Køreniveau-editor System V init

## Indledning

Velkommen til &kde; System V Init Editor, almindeligt kendt (og der vil vi bruge fra nu af) som &ksysv;. Dette afsnit introducerer nogle få begreber og forklarer hvad du kan gøre med &ksysv;.

## En kort beskrivelse af System V Init

Følgende forklaring er lånt fra tksysv (en inspiration for &ksysv;):

System V init er hurtigt ved at blive til standarden i &Linux;-verdenen for at kontrollere opstart af software på boot-tidspunktet. Det er fordi man kan argumentere for at den er nemmere at bruge og mere kraftig og fleksibel end den traditionelle BSD init.

Jeg vil ikke gå ind på historien her (hovedsageligt fordi jeg ikke kender den :-).

Den init binære fil er placeret i `/sbin` og ikke `/etc`. Dette er vigtigt idet man kunne prøve at opgradere en maskine til System V init uden at geninstallere og reformatere. &Linux;-kernen kigger i `/etc` for dets init først, så du må sørge for at slette din gamle init derfra hvis der er en.

SysV init er også forskellig fra BSD-init idet config-filerne er i et underkatalog til `/etc` i stedet for at være direkte i `/etc`. Dette katalog hedder `rc.d`. Deri vil du finde `rc.sysinit` og følgende kataloger:

- `init.d/`

- `rc0.d/`

- `rc1.d/`

- `rc2.d/`

- `rc3.d/`

- `rc4.d/`

- `rc5.d/`

- `rc6.d`

`init.d` indeholder en masse scripter. Basalt set har du brug for et script for hver service du måske vil start på boot-tidspunktet eller når du går ind i et andet køreniveau. Servicer inkluderer ting som netværk, NFS, &Sendmail;, httpd,&etc; Servicer inkluderer ikke sådanne ting som `setserial` der kun skal køres én gang og så afsluttes. Sådanne ting skal indgå i filen `rc.local`.

`rc.local` skal være i `/etc/rc.d` hvis du vil have én. De fleste systemer inkluderer én selvom den ikke gør meget. Du kan også inkludere en `rc.serial` i `/etc/rc.d` hvis du har behov for at gøre specifikke ting med den serielle port på boot-tidspunktet.

Kæden af begivenheder er følgende:

1. Kernen kigger adskillige steder efter init og kører den første den finder.

2. init kører `/etc/rc.d/rc.sysinit`.

3. `rc.sysinit` gør en masse nødvendige ting og kører så `rc.serial` (hvis den eksisterer)

4. init kører `rc.local`

5. init kører alle scripterne på standard-køreniveauet

Standard-køreniveauet afgøres i `/etc/inittab`. Du skulle have en linje tæt ved toppen sådan her:

    id:3:initdefault:

Herfra skal du kigge i anden søjle og se at standard-køreniveauet er 3, som skulle være tilfældet for de fleste systemer. Hvis du ønsker at ændre det, kan du redigere `/etc/inittab` i hånden og ændre 3-tallet. Vær meget forsigtig når du roder med inittab. Hvis du laver kludder, kan du komme ind for at ordne det ved at reboote og gøre:

    LILO boot: linux single

Dette skulle tillade dig at boote til enkeltbruger-tilstand så du kan ordne det.

Nå, hvordan kører den alle de rigtige scripter? Hvis du kører en ``ls` `-l`` i `rc3.d`, vil du se noget i retning af:

    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

Hvad du vil bemærke er at der ingen rigtige filer er i kataloget. Alting er et link til et af scripterne i `init.d`-kataloget.

Linkene har også et `S` og et tal i begyndelsen. `S` betyder at dette specielle script skal startes og et `K` ville betyde at det skulle standse. Tallet lige før er blot af hensyn til rækkefølgen. Init vil starte alle de servicer der er baseret på den rækkefølge de kommer i. Du kan duplikere tallene, men det vil kun være forvirrende. Du skal blot bruge et to-ciffer tal, sammen med et stort `S` eller `K` til at start eller stop de servicer du behøver.

Hvordan starter og stopper den servicer? Simpelt. Hvert af scripterne er skrevet til at acceptere et argument som kan være `start` og `stop`. Du kan køre disse scripter manuelt rent faktisk med en kommando som:

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

for at stoppe httpd-serveren. Init læser blot navnet, og hvis det har et `K`, kaldes scriptet med `stop`-argumentet. Hvis den har et `S` kaldes scriptet med et `start`-argument.

### Hvorfor alle disse køreniveauer?

Nogle mennesker ønsker en nem måde at sætte en maskine op til flere formål. Jeg kunne have et server-køreniveau der kun kører httpd, sendmail, netværk, &etc; Så kunne jeg have et bruger-køreniveau der kører kdm, netværk, &etc;

## Fundamentale ting på skærmen

Her lærer du hvordan du skal bruge &ksysv;, hvilket ikke skulle være svært, da den blev designet til at være så brugervenlig som muligt.

### Mus

Brug af &ksysv; med en mus eller anden pegeenhed er nemt: træk blot en indgang fra Tilgængelige servicer-området til et af de seks køreniveauer for at start (henholdsvis stop) den på dette køreniveau.

Du kan også flytte scripter mellem køreniveauer, eller ændre position i et givet køreniveau, ved attrække det rundt. Det at gøre dette fjerner indgangen fra dens oprindelige køreniveau (eller position). Dette sker ikke når du trækker en indgang fra Tilgængelige servicer-området.

Indgange flyttes når du trækker dem til et nyt område. For at kopiere en service til et andet køreniveau, må du vælge Kopiér fra Redigér eller sammenhængsmenuen og Indsætte den i mål-køreniveauet.

Sorteringsnummeret for en indgang kan sommetider ikke beregnes. I sådanne tilfælde skal du redigere sorteringsnumrene for de omgivende indgange før du prøver at indsætte servicen igen.

Sorteringsnumre kan gå fra 00 til 99 men ikke højere.

Du kan slette indgange ved at trække dem hen på Affaldsspand-området (symboliseret ved en ikon der viser en affaldsspand).

For øjeblikket er der ingen måder at få ting tilbage der er trukket hen på Affaldsspanden, så vær omhyggelig!

### Tastatur

Du kan bruge Tab-tasten til at skifte fokus mellem forskellige paneler (Tilgængelige servicer, Køreniveau 1 Start, Køreniveau 1 Stop, &etc;) og markørtasterne til at flytte det valgte op og ned.

For at flytte en indgang til et andet køreniveau, Klippes det til klippebordet (ved brug af &Ctrl; X og så Indsættes det i mål-køreniveauet (med &Ctrl; V).

For manuelt at ændre en indgangs sorteringsnummer eller navn, trykker du på Enter for at åbne egenskabsdialogen. Brug Tab-tasten til at skifte mellem forskellige felter. Luk dialogen ved at trykke på Enter for at acceptere ændringerne, eller tryk på Esc for at annullere ændringerne.

### Menuerne

En beskrivelse af &ksysv;'s menu en af gangen.

#### Fil-menu

På grund af faren for datatab, beder alle menuindgange under Fil om bekræftelse før de udfører deres arbejde.

Fil Vend indstillingen tilbage...

  Glem alle ændringer du har lavet og vend tilbage til den sidst gemte indstilling.

&Ctrl; O Fil Åbn...

  Åbn en tidligere gemt indstilling.

&Ctrl; S Fil Gem indstilling

  Gør dine ændringer permanente. Der genereres ingen sikkerhedskopi, så brug dette med omhu.

Fil Gem som...

  Gemmer en kopi af din nye indstilling.

&Ctrl; L Fil Gem log...

  Gem en log

&Ctrl; P Fil Udskriv log...

  Udskriv en kopi af loggen.

&Ctrl; Q Fil Afslut

  Afslutter &ksysv;.

#### Redigérmenuen

&Ctrl; Z Redigér Fortryd

  Fortryd de sidste ikke-gemte ændringer der er lavet.

&Ctrl; Shift Z Redigér Annullér fortryd

  Annullér det sidste fortrudte.

&Ctrl; X Redigér Klip

  Klip den aktuelt valgte service til klippebordet.

&Ctrl; C Redigér Kopiér

  Kopiér den valgte indgang til klippebordet, uden at fjerne den fra dens oprindelige position.

&Ctrl; V Redigér Indsæt

  Indsæt indholdet af klippebordet ved markørens aktuelle position.

Redigér Egenskaber

  Åbn egenskabsdialogen for det valgte punkt.

#### Værktøjer-menuen

Værktøjer Start service...

  Start den valgte service

Værktøjer Stop service...

  Stop den valgte service

Værktøjer Genstart service...

  Genstart den valgte service.

Værktøjer Redigér service...

  Redigér den valgte service

#### Opsætningsmenu

Opsætning Vis værktøjslinje

  Slå visning af værktøjslinjen til og fra.

Opsætning Vis statuslinje

  Slå visning af statuslinjen til og fra.

Opsætning Vis log

  Slå visning af logvinduet til og fra.

Opsætning Gem indstillinger

  Gem de aktuelle indstillinger.

Opsætning Indstil tastebindinger...

  Brugerindstil tastebindingerne.

Opsætning Indstil værktøjslinjer...

  Brugerindstil værktøjslinjen.

Opsætning Indstil SysV-Init editor...

  Brugerindstil opførslen af &ksysv;

#### Hjælpemenuen

&help.menu.documentation;

## Indstilling

Alle indstillinger gemmes i `$`KDEHOME`/share/config/ksysvrc`. Standarder tages fra den globale fil (`$`KDEDIR`/share/config/ksysvrc`), hvis den er tilgængelig, ellers genereres den indenfor &ksysv;. Ændringer af standarden gemmes i din lokale `ksysvrc`.

### Genkendte afsnit

Genkendte afsnit samt deres standardværdier.

#### [Stiopsætning]

Nøgleord Standard Beskrivelse
- Script-sti `/etc/rc.d/init.d` Sti til scripterne der bruges til at starte og stoppe tjenester.
- RunlevelPath `/etc/rc.d` Sti til køreniveau undermapper.

#### [Farver]

Nøgleord Standard Beskrivelse
- Ændret red Farve der bruges til ændrede indgange
- Ny blå Farve der bruges til nye indgange

#### [Geometri]

Nøgleord Standard Beskrivelse
- Bredde Bredde af &ksysv;'s vindue
- Højde Højde af &ksysv;'s vindue

#### [Andre indstillinger]

Nøgleord Standard Beskrivelse
- Værktøjslinje sand Om værktøjslinjen er aktiveret eller ej
- Statuslinje sand Om statuslinjen er aktiveret eller ej
- Vis Log sand Om log-vinduet vises eller ej
- Panning Faktor 80 100 - PanningFactor = procent af vindue reserveret for logfilens visning

## Spørgsmål og svar

Jeg legede bare med standard køreniveauet, og nu rebooter min maskine hele tiden. Hvad kan jeg gøre?

Indtast `linux single` ved LILO-starten og tryk på Enter for at boote til enkeltbrugertilstand. Redigér filen `/etc/inittab` og lav standard køreniveau om til noget rimeligt. `3` skulle normalt være sikker.

Min maskine stopper lige efter den booter

Se spørgsmål 1 ovenfor.

Jeg har skemalagt nogle servicer til at blive kørt i køreniveau X ved brug af &ksysv;, så hvorfor virker det ikke?

Hvis du bruger SuSE eller Delix (DLD), skal du også redigere distributionsspecifik fil i `/etc`. Kig venligst i manualen for din distribution for detaljer.

Metoden til at starte servicer brugt af ovennævnte distributioner gør indstilling af servicer nemt for de lukkede indstillingsværktøjer disse distributioner har, men det er uheldigvis ikke-standard. &ksysv;-forfatterne planlægger at skrive en generisk udvidelse for denne metode engang i fremtiden, men det bliver hverken i dag eller i morgen.

Hvis du bruger en anden distribution, så tjek venligst at du har alle config-filerne der behøves for servicen, og om de er på det rigtige sted. Nogle dæmoner for eksempel Apache, (også kendt som `httpd`) dør blot lige så stille hvis deres indstillingsfiler mangler eller er indstillet forkert.

## Standard-semantik for køreniveauer

Dette varierer efter distribution, så dette er en ufuldstændig liste af de mest almindelige &Linux;-distributioner. Hvis du har en anden distribution, så skriv venligst til forfatteren og få informationen tilføjet il denne manual.

&RedHat;
  Køreniveau 0:

    halt (lukker maskinen ned)

  Køreniveau 1:

    Enkeltbrugertilstand.

  Køreniveau 2:

    Multibruger ren tekst, uden NFS.

  Køreniveau 3:

    Multibruger ren tekst, med fuldt netværk.

  Køreniveau 4:

    Ikke brugt.

  Køreniveau 5:

    Multibruger X11 med fuldt netværk.

  Køreniveau 6:

    Reboot

## Medvirkende og licens

&ksysv; Ophavsret © 1997-1998 Peter Putzer

- Peter Putzer, putzer@kde.org - Udvikler

Dokumentation:

- Peter Putzer, putzer@kde.org - Oprindeligt indhold

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

&erik.kjaer.pedersen.credit; &underFDL; &underGPL;

## Installation

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