]> Handbok &ksysv; Peter Putzer
putzer@kde.org
Stefan Asserhäll
stefan.asserhall@comhem.se
Översättare
2001-03-21 1.03.06 1998 2000 2001 Peter Putzer &FDLNotice; &ksysv; är en grafisk editor för startkonfiguration enligt Sys V. KDE KSysV Körnivå Körnivåeditor System V-start
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: Kärnan letar på flera ställen efter init och kör den första som den hittar. init kör /etc/rc.d/rc.sysinit. rc.sysinit gör ett antal nödvändiga saker och kör sedan rc.serial (om den finns) init kör rc.local 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 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 och . I själva verket kan du köra skripten för hand med ett kommando som: /etc/rc.d/init.d/httpd.init För att stoppa httpd-servern. Init läser bara namnet och om det har ett K, anropar det skriptet med väljaren . Om det har ett anropar det skriptet med väljaren . 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 <guimenu >Arkiv</guimenu > 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 <guimenu >Redigera</guimenu > &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 <guimenu >Verktyg</guimenu > 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 <guimenu >Inställningar</guimenu > 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 <guimenu >Hjälp</guimenu > &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] Nyckelord Förval Beskrivning ScriptPath /etc/rc.d/init.d Sökväg till skripten som används för att starta och stoppa tjänster. RunlevelPath /etc/rc.d Sökväg till underkatalogerna för körnivå. [Colors] Nyckelord Förval Beskrivning Changed red Färg som används för ändrade poster New blue Färg som används för nya poster [Geometry] Nyckelord Förval Beskrivning Width Bredd på &ksysv;s fönster Height Höjd på &ksysv;s fönster [Other Settings] Nyckelord Förval Beskrivning ToolBar true Om verktygsraden är aktiverad eller inte StatusBar true Om statusraden är aktiverad eller inte ShowLog true Om loggfönstret visas eller inte PanningFactor 80 100 - panoreringsfaktor = procent av fönstret som är reserverat för att visa loggfilen 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@comhem.se &underFDL; &underGPL; Installation &install.intro.documentation; &install.compile.documentation;