Linuxconf's tilläggsmoduler (add-ons) Introduktion Standardförfarandet för att konfigurera uppstartsprocedurerna på ett system är ju att editera script eller batchfiler. I unix görs detta genom att lägga till kommandon i rc.local skriptet. Tyvärr har detta en del nackdelar. Linuxconf's tillägg och den förbättrade sysv init tillhandahåller ett bättre alternativ. 11.. SSyyssvv iinniitt ssccrriipptt eelllleerr LLiinnuuxxccoonnff''ss ttiilllläägggg Båda erbjuder samma funktionalitet, men att sätta upp ett tillägg är lättare (det finns ju ett användarinterface för det). Märk att vid denna tidpunkt är sysv init skripten som skeppas med distributoner tämligen begränsade i funktionalitet. Följande dokument visar hur du kan förbättra de skript du har: http://www.solucorp.qc.ca/linuxconf/tech/enhsysv 11..11.. TTiilllläägggg mmeedd ssaammmmaa nnaammnn ssoomm eetttt SSyyssvv sskkrriipptt Om du ger ett tillägg samma namn som ett redan existerande Sysv initskript kommer tillägget att ha högre prioritet. Skriptet kommer inte att anropas mer. Ofta skapar man ett tillägg och bara definierar start, stop och omstart kommandon för det genom att anropa Sysv- skriptet. Detta är ett lätt sätt att förbättra skriptet utan att ändra det och även hålla det kompatibelt och uppgraderingsbart. 22.. UUppppggiifftteerr Ett tillägg vet hur det skall starta, stoppa och starta om ett paket. Det tillhandahåller även information så Linuxconf kan avgöra hur och när den skall starta, stoppa och starta om paketet. 33.. FFäälltt ii ddiiaallooggeenn Flera fält i dialogen är valfria. Här är en förklaring till dem. För var och en kommer vi dessutom presentera den korresponderande taggen som behövs för ett givet Sysv skript. Både Sysv skript och tillägg stöds av samma egenskap i Linuxconf. 33..11.. PPaakkeettnnaammnn Du bara tillhandahåller ett namn. Varje tillägg har ett unikt namn. Varje tillägg lagras i en ASCII fil i /etc/linuxconf/control. Namnet används som en nyckel för olika andra tjänster som · Versionshantering av systemprofiler · Hantering av multipla maskiner · Kontroll av tjänsters aktivitet 33..22.. RReevviissiioonnssnnuummrreerriinngg Används f.n inte, skriv bara 1 här. 33..33.. PPaakkeettbbeesskkrriivvnniinngg Skriv en kort beskrivning som förklarar vad paketet gör. Gör den kort, den används för att bygga menyer och dialoger. 33..44.. SSttaarrttkkoommmmaannddoo Skriv in det kompletta kommandot (med argument) som behövs för att starta paketet eller initiera det. 33..55.. SSttooppppkkoommmmaannddoo Detta fält är valfritt. Skriv in det kompletta kommandot med argument för att stoppa paketet. Om detta fält är tomt kommer Linuxconf att använda processnamnet och döda den processen. Se nedan. 33..66.. OOmmssttaarrttss kkoommmmaannddoo Detta fält är valfritt. Skriv in det kompletta komandot med argument som behövs för att starta om eller ominitialisera paketet. Om detta fält är tomt kommer Linuxconf själv generera start och stopp kommandon. 33..77.. TTeessttkkoommmmaannddoo Detta fält är valfritt och behövs bara för komplexa paket. Linuxconf gör en del tester och jämför åldern på processer associerade med paket mot revisionsdatum för konfigurationsfilerna. Om konfigurationsfilen är nyare så triggar Linuxconf en omstart av paketet. En del paket har komplexa konfigurationsfiler och kan inte hanteras av tillägget. Eller så påverkas de av andra faktorer. Testkommandot låter ett paket självt bestämma om det borde startas om, stoppas eller startas. Testkommandot är egentligen bara sökvägen till kommandot. Linuxconf kommer att anropa det med ett enda argumet (probe). Kommandot reagerar på detta argument med att skriva massa rader eller ingenting alls om inget behöver göras. Varje rad motsvarar en specifik åtgärd. Standardåtgärderna "start" "stop" och "omstart" kommer tolkas av Linuxconf varvid den kommer använda sig av de kommandona för att genomföra lämplig åtgärd. Testkommandot kan också returnera "unknown" till Linuxconf Om så, kommer testkommandot självt att anropas för att utföra åtgärden. 33..77..11.. TTeessttffuunnkkttiioonnaalliitteett ppåå SSyyssvvsskkrriipptt Genom att lägga till följande rad till ett Sysv skript så anmodas Linuxconf att exekvera skriptet med "probe" argumentet. Resultatet används som tillägget. # probe: true 33..88.. UUpppprreennssnniinngg vviidd ssyysstteemmssttaarrtt Detta fält är valfritt. Du skriver in ett komplett kommando med argument. Detta kommando kommer exekveras av linuxconf vid uppstart precis innan runlevel menyn poppar upp. Resultatet av detta kommando kommer loggas i #Uppgifter före uppstart" sektionen i Linuxconfs loggar. 33..99.. PPrroocceessss nnaammnn Denna sektion är valfri. Du måste skriva in namnet på de processer som dras igång av startkommandot. Om du lämnar denna sektion tom kommer Linuxconf att räkna ut namnet på varje process från själva startkommandot. T.ex /usr/sbin/foo -a -b ger processnamnet foo. När man anger flera processnamn kommer Linuxconf att låsa alla dessa processnamn för att kontrollera att paketet är uppdaterat när det jämförs med dess konfigurationsfil. 33..99..11.. PPrroocceessssnnaammnn mmeedd SSyyssvv ssccrriipptt Följande tagg låter dig specificera processnamn som startas med Sysv skript. Du kan specificera en tagg fler än en gång. # processname: foo 33..1100.. PPIIDD ffiilleerr Denna sektion är valfri. En del paket startar fler instanser av en demon. Linuxconf måste veta vilken som är huvudprocessen som följdaktligen måste övervakas. De flesta paket producerar en liten textfil innehållande process ID för huvudprocessen i paketet. Denna fil lagras normalt i /var/run, med tillägget .pid . Ett paket som startar flera processer kan ha flera PID filer. 33..1100..11.. PPIIDD ffiilleerr mmeedd SSyyssvvsskkrriipptt Följande tagg låter dig specificera PID filen som accocieras med Sysv skriptet. Du kan specificera en tagg fler än en gång. # pidfile: /var/run/foo.pid 33..1111.. AAkkttiivveerriinnggsskkoonnttrroollll Denna sektion talar om för Linuxconf när paketet måste startas. 33..1111..11.. SSttaarrttaa eefftteerr ppaakkeett Detta fält är valfritt. Du kan specificera paket här Det finns en hjälplista som visar alla tillgängliga paket. Linuxconf kommer starta eller avsöka det nuvarande paketet efter det du angett här. 33..1111..22.. SSttaarrttaa ii ooppeerraattiioonnssllääggee ((rruunnlleevveell)) Linuxconf definierar 3 lägen av nätverksaktivitet: · Inget - nätverk · Klient - nätverk · Server - nätverk Du definierar här vilket i operationsläge paketet skall startas. Ett paket som startats i ett givet läge kommer bli tillgängligt även i de efterföljande. T.ex, om du väljer att aktivera ett paket i "klient nätverk" läget kommer det även vara kativerat i "server nätverk" Du har kontroll över nätverks operationslägena vid uppstart och från kontrollpanelsmenyn (ändra operationsläge). 33..1111..33.. SSttooppppaa vviidd ooppeerraattiioonnssllääggee I föregående fält valde du i vilket läge du startar ett paket. Här väljer du i vilket läge paketet skall stoppas. Du kan även välja att ett paket aldrig skall stoppas när det väl startats. 33..1122.. KKoonnffiigguurraattiioonnssffiilleerr I denna sektion måste du numrera alla konfigurationsfiler (om möjligt) som påverkar statusen på ett paket. För varje konfigurationsfil kan du specificera om paketet har möjlighet att köra en automatisk omstart eller inte. Konfigurationsfiler som kan startas om automatiskt kommer inte att sökas igenom i den avsökning Linuxconf normalt gör för att bestämma om ett paket måste startas om eller inte. Det är en god ide att numrera dom här eftersom de automatiskt deltar i "System profil versionshantering" och "hantering av multipla maskiner". 33..1122..11.. KKoonnffiigguurraattiioonnssffiilleerr mmeedd SSyyssvv sskkrriipptt Följande tagg låter dig specificera de konfigurationsfiler som påverkar statusen på ett paket. Du kan specificera taggen fler än en gång. Alternativt kan varje konfigurationsfil följas av nyckelordet autoreload # config: /etc/foo.conf [ autoreload ] 33..1133.. KKoommmmeennttaarreerr Här kan du skriva in lite kommentarer om paketet. Detta används bara som en referens. Linuxconf använder inte kommentarerna, eller visar dem någon annanstans heller. 44.. VVaarrfföörr ffiinnnnss ddeett ttvvåå ffäälltt fföörr aatttt eeddiitteerraa ttiilllläägggg Det finns en meny som kallas "Åsidosätta Linuxconf's tillägg", medan den andra heter "Skapa Linuxconf tillägg". Båda verkar peka på samma meny. Det finns en liten men dock viktig skillnad: "Skapa" menyn används för att ändra tilläggsfil i /etc/linuxconf/control. Menyn åsidosätta används för att editera samma fil, men ändringarna lagras inte i filen självt utan i /etc/conf.linuxconf filen. Så "Åsidosätta" menyn används för lokala ändringar och "Skapa" menyn för att dirktmanipulera tilläggen. Om du inte tänker distribuera tillägg är skillnaden oviktig. Använd då alltid "skapa" menyn.