Se le parole chiave descritte in Parole chiave e valori usati nelle regole e Parole chiave non operative e valori non sono abbastanza precise per le esigenze di installazione del proprio sito, è possibile definirne altre in un file custom_probes.
Il file custom_probes è uno script della Bourne shell che contiene due tipi di funzioni. Il file custom_probes deve essere salvato nella stessa directory JumpStart in cui risiede il file rules. I due tipi di funzioni che è possibile definire nel file custom_probes sono le seguenti:
Dichiarative – Queste funzioni acquisiscono le informazioni richieste, o svolgono le operazioni corrispondenti, e impostano la variabile d'ambiente SI_ definita dall'utente. Queste funzioni diventano parole chiave non operative.
Comparative – Queste funzioni chiamano una funzione dichiarativa, confrontano l'output della funzione dichiarativa con lo stato del sistema e restituiscono 0 se la condizione definita viene soddisfatta o 1 se non viene soddisfatta. Le funzioni comparative diventano parole chiave delle regole.
Il file custom_probes può contenere qualunque comando, variabile o algoritmo che sia accettato dalla Bourne shell.
All'interno del file è possibile definire funzioni dichiarative e comparative che richiedano un singolo argomento. Quando la parola chiave corrispondente viene usata nel file rules, l'argomento che la segue viene interpretato (come $1).
L'interpretazione inizia dopo la parola chiave e termina con il simbolo && o con lo script iniziale successivo.
Il file custom_probes deve soddisfare i seguenti requisiti:
Il proprietario del file deve essere root
Il file deve essere eseguibile e le autorizzazioni devono essere impostate su 755
Il file deve contenere almeno una funzione dichiarativa e una funzione comparativa corrispondente
Per ragioni di chiarezza e di organizzazione, è preferibile definire per prime le funzioni dichiarative e collocarle all'inizio del file, seguite dalle funzioni comparative.
Il nome di una funzione dichiarativa deve iniziare con probe_. Il nome di una funzione comparativa deve iniziare con cmp_.
Le funzioni che iniziano con probe_ definiscono parole chiave non operative. Ad esempio, la funzione probe_tcx definisce una nuova parola chiave non operativa di nome tcx. Le funzioni che iniziano con cmp_ definiscono le parole chiave per le regole. Ad esempio, cmp_tcx definisce la parola chiave tcx per l'utilizzo in una regola.
Usando un editor di testo, creare un file di testo contenente uno script per la Bourne shell. Assegnare al file il nome custom_probes.
Nel file di testo custom_probes, definire le funzioni dichiarative e comparative desiderate.
È possibile definire funzioni dichiarative e comparative che richiedano uno o più argomenti. Quando una parola chiave definita in una funzione dichiarativa viene usata nel file rules, gli argomenti che la seguono vengono interpretati in sequenza (come $1, $2, ecc.).
L'interpretazione inizia dopo la parola chiave e termina con il simbolo && o con lo script iniziale successivo.
Salvare il file custom_probes nella directory JumpStart in cui risiede il file rules.
Verificare che il proprietario del file rules sia root e che le autorizzazioni siano impostate su 644.
Altri esempi di funzioni dichiarative e comparative si trovano nelle seguenti directory:
/usr/sbin/install.d/chkprobe sui sistemi su cui è installato Solaris
/Solaris_9/Tools/Boot/usr/sbin/install.d/chkprobe sul DVD di Solaris 9 o sul CD Solaris 9 Software 1 of 2
Il file custom_probes seguente contiene una funzione dichiarativa e una funzione comparativa che verificano la presenza di una scheda grafica TCX.
#!/bin/sh # # script custom_probe che verifica la presenza di una scheda grafica TCX. # # # FUNZIONI DICHIARATIVE # probe_tcx() { SI_TCX=`modinfo | grep tcx | nawk '{print $6}'` export SI_TCX } # # FUNZIONI COMPARATIVE # cmp_tcx() { probe_tcx if [ "X${SI_TCX}" = "X${1}" ]; then return 0 else return 1 fi } |
Il seguente esempio di file rules mostra l'uso della parola chiave non operativa definita nell'esempio precedente, tcx. Se in un sistema viene rilevata una scheda grafica TCX, viene eseguito il profilo di nome profilo_tcx. Diversamente, viene eseguito il file profilo.
È sempre consigliabile collocare le parole chiave non operative all'inizio del file rules, in modo che vengano lette ed eseguite prima delle parole chiave usate dalle regole.
probe tcx tcx tcx - profilo_tcx - any any - profilo - |