Installationshandbok för Solaris 10: Anpassad JumpStart och avancerade installationer

Kapitel 8 Skapa egna nyckelord för regler och kontroll (Steg-för-steg-anvisningar)

I det här kapitlet beskrivs hur du skapar egna nyckelord för regler och kontroll.

Kontrollnyckelord

Kontrollnyckelord förhåller sig till regelnyckelord enligt följande: Ett regelnyckelord är en fördefinierad lexikalisk enhet eller ett ord som beskriver ett allmänt systemattribut, till exempel ett värdnamn, hostname, eller en minnesstorlek, memsize. Du kan använda regelnyckelord med associerade värden för att matcha en dator med samma attribut mot en profil. Matchningen av attributen för en dator anger hur Solaris-programvaran ska installeras på varje dator i gruppen.

Miljövariabler för anpassad JumpStart, vilka används i start- och slutskript, anges på begäran. Exempelvis är informationen om vilket operativsystem som redan är installerat på datorn endast tillgänglig i SI_INSTALLED när regelnyckelordet installed har använts.

I en del fall kanske du måste hämta samma information i ett start- eller slutskript för att göra något annat än att matcha en dator och köra en profil. Då kan du använda kontrollnyckelord. Kontrollnyckelord extraherar attributinformation och gör att du inte behöver ange ett matchande villkor och köra en profil.

En lista över kontrollnyckelord och värden finns i Kontrollnyckelord och värden.

Skapa en custom_probes-fil

Regel- och kontrollnyckelorden som beskrivs i Regelnyckelord och värden och Kontrollnyckelord och värden kanske inte är tillräckligt exakta för dina behov. Då kan du ange egna nyckelord genom att skapa en custom_probes-fil.

Filen custom_probes är ett Bourne-skalskript som innehåller två typer av funktioner. Du måste spara filen custom_probes i samma JumpStart-katalog som du sparade filen rules i. Du kan ange följande två funktionstyper i filen custom_probes:

Syntax för filen custom_probes

Filen custom_probes kan innehålla valfria giltiga kommandon, variabler eller algoritmer för Bourne-skal.


Obs! –

Du kan ange kontroll- och jämförelsefunktioner som kräver ett enda argument i filen custom_probes. När du använder motsvarande eget kontrollnyckelord i filen rules tolkas argumentet efter nyckelordet (som $1).

När du använder motsvarande eget regelnyckelord i filen rules tolkas argumenten i en sekvens. Följden startar efter nyckelordet och slutar före nästa && eller startskript, beroende på vilket som kommer först.


Filen custom_probes måste uppfylla följande krav:

För att få en läsbar och klar struktur bör du ange alla kontrollfunktioner först, längst upp i filen, följt av alla jämförelsefunktioner.

Syntax för funktionsnamn i custom_probes

Namnet på en kontrollfunktion måste börja med probe_. Namnet på en jämförelsefunktion måste börja med cmp_.

Funktioner som börjar med probe_ anger nya kontrollnyckelord. Funktionen probe_tcx anger t.ex. det nya kontrollnyckelordet tcx. Funktioner som börjar med cmp_ anger nya regelnyckelord. Funktionen cmp_tcx anger t.ex. det nya regelnyckelordet tcx.

ProcedureSå här skapar du en custom_probes-fil

Steg
  1. Använd en textredigerare för att skapa en textfil för ett Bourne-skalskript. Döp filen till custom_probes.

  2. I textfilen custom_probes anger du egna kontroll- och jämförelsefunktioner.


    Obs! –

    Du kan ange kontroll- och jämförelsefunktioner som kräver argument i filen custom_probes. När du använder motsvarande egna kontrollnyckelord i filen rules tolkas argumenten efter nyckelordet i en följd (som $1, $2 osv).

    När du använder motsvarande eget regelnyckelord i filen rules tolkas argumenten i en sekvens. Följden startar efter nyckelordet och slutar före nästa && eller startskript, beroende på vilket som kommer först.


  3. Spara filen custom_probes i JumpStart-katalogen tillsammans med rules-filen.

  4. Kontrollera att root äger filen rules och att behörigheten är angiven till 644.

Exempel på custom_probes-fil och nyckelord

Det finns fler exempel på kontroll- och jämförelsefunktioner i följande kataloger:

Följande custom_probes-fil innehåller en kontroll- och jämförelsefunktion som används för att kontrollera om det finns ett TCX-grafikkort.


Exempel 8–1 custom_probes-fil

#!/bin/sh
# 
# custom_probe script to test for the presence of a TCX graphics card.
# 

# 
# PROBE FUNCTIONS
# 
probe_tcx() {
  SI_TCX=`modinfo | grep tcx | nawk '{print $6}'`
  export SI_TCX
}

# 
# COMPARISON FUNCTIONS
# 
cmp_tcx() {
  probe_tcx

  if [ "X${SI_TCX}" = "X${1}" ]; then
     return 0
  else
     return 1
  if
}

Följande rules-exempelfil visar hur kontrollnyckelordet tcx i föregående exempel används. Om ett TCX-grafikkort installeras och påträffas i en dator körs profile_tcx. I annat fall körs profile.


Obs! –

Placera alltid kontrollnyckelorden i början eller nära början av rules-filen. På så sätt ser du till att nyckelorden läses och körs före andra regelnyckelord som skulle kunna använda kontrollnyckelorden.



Exempel 8–2 Eget kontrollnyckelord som används i en rules-fil

probe tcx
tcx     tcx     -     profile_tcx     -
any     any     -     profile         -

Validera custom_probes-filen

Innan du kan använda en profil, rules- och custom_probes-filer måste du validera att filerna är rätt konfigurerade genom att köra check-skriptet. Om alla profiler, regler och kontroll- och jämförelsefunktioner är korrekta, skapas filerna rules.ok och custom_probes.ok. Tabell 8–1 innehåller förklaringar av vad check-skriptet gör.

Tabell 8–1 Det här händer när du använder check-skriptet

Steg 

Beskrivning 

check söker efter en custom_probes-fil.

Om filen finns skapar check-skriptet filen custom_probes.ok från filen custom_probes, tar bort alla kommentarer och tomma rader och behåller alla Bourne-skalkommandon, variabler och algoritmer. Sedan lägger check-kommandot till följande kommentarsrad i slutet:

# version=2 checksum=num

ProcedureSå här validerar du custom_probes-filen

Steg
  1. Kontrollera att check-skriptet finns i JumpStart-katalogen.


    Obs! –

    check-skriptet finns i katalogen Solaris_10/Misc/jumpstart_sample på Solaris Operating System DVD eller på Solaris-programvara - 1-cd:n.


  2. Ändra till JumpStart-katalogen.

  3. Kör check-skriptet för att validera rules- och custom_probes-filerna.


    $ ./check -p sökväg -r filnamn
    
    -p sökväg

    Validerar filen custom_probes med check-skriptet från Solaris-programavbildningen för plattformen, i stället för med check-skriptet på datorn. Sökvägen är avbildningen på en lokal disk eller en monterad Solaris Operating System DVD eller Solaris-programvara - 1.

    Använd det här alternativet för att köra den senaste versionen av check om datorn kör en tidigare version av Solaris.

    -r filnamn

    Anger ett annat filnamn än det som finns i custom_probes. Du kan använda alternativet -r för att testa giltigheten för en uppsättning funktioner innan de integreras i filen custom_probes.

    check-skriptet validerar profilerna och rules- och custom_probes-filerna. Om inga fel påträffas rapporterar skriptet följande: “Den anpassade JumpStart-konfigurationen är ok” och filerna rules.ok och custom_probes.ok skapas i JumpStart-katalogen.

  4. Kontrollera om filen custom_probes.ok går att köra.

    • Om den går att köra går du till Steg 5.

    • Om den inte går att köra skriver du följande kommando:


      # chmod +x custom_probes
      
  5. Kontrollera att root äger filen custom_probes.ok och att behörigheten är angiven till 755.