Installationsguide för Solaris 9

Kapitel 25 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 finns information om vilket operativsystem som redan är installerat på datorn endast tillgängligt i SI_INSTALLED när regelnyckelordet installed används.

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 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.

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

Skapa en custom_probes-fil

Om regel- och kontrollnyckelorden som beskrivs i Regelnyckelord och värden och Kontrollnyckelord och värden inte är tillräckligt exakta för dina behov 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 argumentet som att det börjar efter nyckelordet och slutar före nästa && eller startskript, beroende på vilket som kommer först.


Följande krav gäller för filen custom_probes:

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.

Så här skapar du en custom_probes-fil

  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 följd efter nyckelordet och att de 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 25–1 custom_probes-fil

#!/bin/sh
# 
# custom_probe-skript för kontroll om det finns ett TCX-grafikkort.
# 

# 
# 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
  fi
}

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


Obs!  

Ange alltid kontrollnyckelord vid eller nära rules-filens början så att nyckelorden läses och körs före andra regelnyckelord som kan vara beroende av kontrollnyckelorden.



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

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

Kontrollera custom_probes-filen

Innan du kan använda en profil, rules- och custom_probes-fil, måste du köra check-skriptet för att kontrollera att filen är konfigurerad på rätt sätt. Om alla profiler, regler och kontroll- och jämförelsefunktioner är korrekta, skapas filerna rules.ok och custom_probes.ok. Tabell 25–1 beskriver funktionen hos check-skript.

Tabell 25–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-kommandot 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

Så här kontrollerar du custom_probes-filen

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


    Obs!  

    check-skriptet finns i katalogen Solaris_9/Misc/jumpstart_sample på Solaris 9-dvd eller Solaris 9-programvaru-cd 1 (av 2)-cd:n.


  2. Gå till JumpStart-katalogen.

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


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

    Kontrollerar filen custom_probes genom att använda check-skriptet från Solaris 9-avbildningen för plattformen, i stället för check-skriptet på datorn. Sökvägen är avbildningen på en lokal disk eller en monterad Solaris 9-dvd eller Solaris 9-programvaru-cd 1 (av 2).

    Använd det här alternativet för att köra den senaste versionen av check om ditt system 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.

    När check-skriptet körs rapporterar det korrektheten av regler och custom_probes-filer och varje profil. 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.