Solaris 10 Installationshandbuch: Benutzerdefinierte JumpStart-Installation und komplexe Installationsszenarien

Kapitel 8 Erstellen von benutzerdefinierten Rule- und Probe-Schlüsselwörtern (Vorgehen)

In diesem Kapitel finden Sie Informationen und Verfahren zum Erstellen eigener Rule- und Probe-Schlüsselwörter.

Probe-Schlüsselwörter

Damit Sie verstehen können, was ein Probe-Schlüsselwort ist, müssen Sie zunächst wissen, was ein Rule-Schlüsselwort ist. Ein Rule-Schlüsselwort ist eine vordefinierte lexikalische Einheit oder ein Wort, die bzw. das ein allgemeines Systemattribut beschreibt, wie zum Beispiel den Host-Namen (hostname) oder die Hauptspeichergröße (memsize). Rule-Schlüsselwörter und die zugehörigen Werte ermöglichen es, ein System auf der Grundlage übereinstimmender Systemattribute einem Profil zuzuordnen. Das dem jeweiligen System zugeordnete Profil definiert, wie die Solaris-Software auf allen Systemen mit diesem Profil installiert werden soll.

Benutzerdefinierte JumpStart-Umgebungsvariablen, die in Begin- und Finish-Skripten eingesetzt werden, setzen Sie bei Bedarf. Beispielsweise stehen Informationen darüber, welches Betriebssystem bereits auf einem System installiert ist, in SI_INSTALLED erst zur Verfügung, nachdem das Schlüsselwort installed verwendet wurde.

In manchen Situationen müssen Sie vielleicht dieselben Informationen aus einem Begin- oder Finish-Skript extrahieren, allerdings zu einem anderen Zweck als dem Zuordnen eines Systems und dem Ausführen eines Profils. Dieses Problem können Sie mit Probe-Schlüsselwörtern lösen. Probe-Schlüsselwörter dienen zum Extrahieren von Attributwerten, ohne dass Sie eine entsprechende Bedingung einrichten und ein Profil ausführen müssen.

Eine Liste der Schlüsselwörter und Werte finden Sie unter Probe-Schlüsselwörter und -Werte.

Erstellen einer custom_probes-Datei

Wenn die in Rule-Schlüsselwörter und -Werte und Probe-Schlüsselwörter und -Werte beschriebenen Rule- und Probe-Schlüsselwörter für Ihre Anforderungen nicht präzise genug sind, können Sie eigene Rule- bzw. Probe-Schlüsselwörter definieren, indem Sie eine custom_probes-Datei erstellen.

Die Datei custom_probes ist ein Bourne-Shell-Skript, das zwei Typen von Funktionen enthält. Sie müssen die Datei custom_probes in dem JumpStart-Verzeichnis speichern, in dem sich auch die Datei rules befindet. Sie können in einer custom_probes-Datei die folgenden zwei Funktionen definieren:

Syntax der Datei custom_probes

Die Datei custom_probes kann alle gültigen Befehle, Variablen und Algorithmen der Bourne-Shell enthalten.


Hinweis –

Sie können Probe- und Comparison-Funktionen definieren, für die ein einzelnes Argument in der Datei custom_probes erforderlich ist. Wenn Sie das entsprechende benutzerdefinierte Probe-Schlüsselwort in der Datei rules verwenden, wird das Argument nach dem Schlüsselwort interpretiert (als $1).

Wenn Sie das entsprechende benutzerdefinierte Rule-Schlüsselwort in der Datei rules verwenden, wird das Argument so interpretiert, dass es nach dem Schlüsselwort beginnt und vor dem nächsten && oder Begin-Skript endet, je nachdem, was zuerst auftritt.


Die Datei custom_probes muss folgende Anforderungen erfüllen:

Um in einer solchen Datei eine klare Struktur zu erzielen, sollten Sie am Anfang der Datei zunächst alle Probe-Funktionen definieren und dann alle Comparison-Funktionen.

Syntax von Funktionsnamen in custom_probes

Der Name einer Probe-Funktion muss mit probe_ anfangen. Der Name einer Comparison-Funktion muss mit cmp_ anfangen.

Funktionen, die mit probe_ anfangen, definieren neue Probe-Schlüsselwörter. Die Funktion probe_tcx definiert zum Beispiel das neue Probe-Schlüsselwort tcx. Funktionen, die mit cmp_ anfangen, definieren neue Rule-Schlüsselwörter. cmp_tcx definiert zum Beispiel das neue Rule-Schlüsselwort tcx.

ProcedureSo erstellen Sie eine custom_probes-Datei

Schritte
  1. Erstellen Sie in einem Texteditor eine Textdatei für ein Bourne-Shell-Skript. Geben Sie der Datei den Namen custom_probes.

  2. Definieren Sie in der Datei custom_probes die gewünschten Probe- und Comparison-Funktionen.


    Hinweis –

    Sie können Probe- und Comparison-Funktionen definieren, für die in der Datei custom_probes Argumente erforderlich sind. Wenn Sie das entsprechende benutzerdefinierte Probe-Schlüsselwort in der Datei rules verwenden, werden die Argumente nach dem Schlüsselwort nacheinander interpretiert (als $1, $2 usw.).

    Wenn Sie das entsprechende benutzerdefinierte Rule-Schlüsselwort in der Datei rules verwenden, wird das Argument so interpretiert, dass es nach dem Schlüsselwort beginnt und vor dem nächsten && oder Begin-Skript endet, je nachdem, was zuerst auftritt.


  3. Speichern Sie die Datei custom_probes in dem JumpStart-Verzeichnis, das auch die Datei rules enthält.

  4. Stellen Sie sicher, dass root Eigentümer der Datei rules ist und dass die Berechtigungen auf 644 gesetzt sind.

Beispiele für custom_probes-Dateien und Schlüsselwörter

Zusätzliche Beispiele für Probe- und Comparison-Funktionen finden Sie in den folgenden Verzeichnissen:

Die folgende custom_probes-Datei enthält eine Probe- und Comparison-Funktion, mit der geprüft wird, ob eine TCX-Grafikkarte vorhanden ist.


Beispiel 8–1 custom_probes-Datei

#!/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
}

Die folgende rules-Beispieldatei zeigt, wie Sie das im vorherigen Beispiel definierte Probe-Schlüsselwort, tcx, verwenden können. Wenn eine TCX-Grafikkarte installiert ist und erkannt wird, wird das Profil profile_tcx ausgeführt. Andernfalls wird das Profil profile ausgeführt.


Hinweis –

Stellen Sie Probe-Schlüsselwörter immer möglichst an den Anfang der Datei rules. So stellen Sie sicher, dass die Schlüsselwörter vor Rule-Schlüsselwörtern gelesen und ausgeführt werden, die von den Probe-Schlüsselwörtern abhängen.



Beispiel 8–2 Benutzerdefiniertes Probe-Schlüsselwort in einer rules-Datei

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

Validieren der Datei custom_probes

Bevor Sie ein Profil, eine rules- und eine custom_probes-Datei einsetzen können, müssen Sie mit dem Skript check überprüfen, ob die Dateien korrekt definiert sind. Wenn alle Profile, Regeln, Probe- und Comparison-Funktionen korrekt definiert sind, werden die Datei rules.ok und die Datei custom_probes.ok erstellt. Tabelle 8–1 beschreibt den Ablauf des Skripts check.

Tabelle 8–1 Was geschieht, wenn das Skript check ausgeführt wird?

Abschnitt 

Beschreibung 

check sucht eine custom_probes-Datei.

Wenn die Datei vorhanden ist, erstellt check die Datei custom_probes.ok aus der Datei custom_probes, entfernt alle Kommentare und Leerzeilen und behält alle Bourne-Shell-Befehle, Variablen und Algorithmen bei. Danach fügt check die folgende Kommentarzeile an das Ende der Datei an:

# version=2 checksum=num

ProcedureSo validieren Sie die Datei custom_probes

Schritte
  1. Stellen Sie sicher, dass sich das Skript check im JumpStart-Verzeichnis befindet.


    Hinweis –

    Das Skript check befindet sich im Verzeichnis Solaris_10/Misc/jumpstart_sample auf der Solaris Operating System-DVD bzw. Solaris Software - 1-CD.


  2. Wechseln Sie in das JumpStart-Verzeichnis.

  3. Führen Sie das Skript check aus, um die Datei rules und die Datei custom_probes zu validieren.


    $ ./check -p Pfad -r Dateiname
    
    -p Pfad

    Validiert die Datei custom_probes unter Verwendung des Skripts check aus dem Abbild der Solaris-Software für die jeweilige Plattform anstelle des Skripts check auf dem System, mit dem Sie arbeiten. Pfad ist der Pfad zu einem Abbild auf einer lokalen Festplatte oder zu einer eingehängten Solaris Operating System-DVD oder Solaris Software - 1-CD.

    Verwenden Sie diese Option, um die neueste Version von check auszuführen, wenn auf dem System eine frühere Version von Solaris läuft.

    -r Dateiname

    Gibt eine andere Datei als die mit dem Namen custom_probes an. Mithilfe der Option -r können Sie die Gültigkeit einer Reihe von Funktionen prüfen, bevor Sie die Funktionen in die Datei custom_probes aufnehmen.

    Bei der Ausführung des check-Skripts macht das Skript Angaben zur Gültigkeit der Dateien rules und custom_probes sowie jedes einzelnen Profils. Wenn keine Fehler auftreten, gibt das Skript Folgendes aus: “The custom JumpStart configuration is ok”. Im JumpStart-Verzeichnis werden die Dateien rules.ok und custom_probes.ok erstellt.

  4. Ermitteln Sie, ob die Datei custom_probes.ok ausführbar ist.

    • Wenn ja, fahren Sie mit Schritt 5 fort.

    • Wenn nicht, geben Sie den folgenden Befehl ein:


      # chmod +x custom_probes
      
  5. Stellen Sie sicher, dass root Eigentümer der Datei custom_probes.ok ist und dass die Berechtigungen auf 755 gesetzt sind.