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:
Probe-Funktionen – Dienen zum Erfassen der benötigten Informationen oder zum Setzen einer entsprechenden SI_-Umgebungsvariablen, die Sie definieren. Probe-Funktionen werden zu Probe-Schlüsselwörtern.
Vergleichsfunktionen – Rufen die entsprechende Probe-Funktion auf, vergleichen die Ausgabe der Probe-Funktion und geben 0 zurück, wenn das Schlüsselwort übereinstimmt, bzw. 1, wenn das Schlüsselwort nicht übereinstimmt. Comparison-Funktionen werden zu Rule-Schlüsselwörtern.
Die Datei custom_probes kann alle gültigen Befehle, Variablen und Algorithmen der Bourne-Shell enthalten.
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:
Der Eigentümer muss root sein.
Die Datei muss ausführbar und die Berechtigungen müssen auf 755 gesetzt sein.
Die Datei muss mindestens eine Probe-Funktion und eine entsprechende Comparison-Funktion enthalten.
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.
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.
Erstellen Sie in einem Texteditor eine Textdatei für ein Bourne-Shell-Skript. Geben Sie der Datei den Namen custom_probes.
Definieren Sie in der Datei custom_probes die gewünschten Probe- und Comparison-Funktionen.
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, werden die Argumente nach dem Schlüsselwort und bis zum nächsten && oder Begin-Skript nacheinander interpretiert, je nachdem, was zuerst auftritt.
Speichern Sie die Datei custom_probes in dem JumpStart-Verzeichnis, das auch die Datei rules enthält.
Stellen Sie sicher, dass root Eigentümer der Datei rules ist und dass die Berechtigungen auf 644 gesetzt sind.
Zusätzliche Beispiele für Probe- und Comparison-Funktionen finden Sie in den folgenden Verzeichnissen:
/usr/sbin/install.d/chkprobe auf einem System, auf dem die Solaris-Software installiert ist
/Solaris_9/Tools/Boot/usr/sbin/install.d/chkprobe auf der Solaris 9-DVD oder der Solaris 9 Software 1 of 2-CD
Die folgende custom_probes-Datei enthält eine Probe- und Comparison-Funktion, mit der geprüft wird, ob eine TCX-Grafikkarte vorhanden ist.
#!/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 fi } |
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. Anderenfalls wird das Profil profile ausgeführt.
Stellen Sie Probe-Schlüsselwörter immer 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.
probe tcx tcx tcx - profile_tcx - any any - profile - |