Solaris 9 9/04: Guía de instalación

Creación de un archivo custom_probes

Si las reglas y las palabras clave de sondeo que se describen en Valores y palabras clave de reglas y Valores y palabras clave de sondeo no son lo bastante precisas para sus necesidades, puede definir las suyas propias creando un archivo custom_probes.

Éste es una secuencia del shell Bourne que contiene dos tipos de funciones. Debe guardarlo en el mismo directorio JumpStart en que guardó el archivo rules. Los dos tipos de funciones que puede definir en un archivo custom_probes son:

Sintaxis del archivo custom_probes

El archivo custom_probes puede contener cualquier orden, variable o algoritmo válidos del shell Bourne.


Nota –

En el archivo custom_probes puede definir funciones de sondeo y comparación que requieran un único argumento. Cuando use la palabra clave de sondeo personalizada en el archivo rules, el argumento que hay después de la palabra clave se interpreta como $1.

Cuando use la palabra clave de regla personalizada en el archivo rules, el argumento se entiende que empieza después de la palabra clave y termina antes de los caracteres && o la secuencia de inicio, lo que se dé antes.


El archivo custom_probes debe cumplir los requisitos siguientes:

Para mejorar la claridad y organización, al principio del archivo defina, en primer lugar, todas las funciones de sondeo, seguidas de todas las funciones de comparación.

Sintaxis de nombres de función en custom_probes

El nombre de las funciones de sondeo debe empezar con probe_. El nombre de las funciones de comparación debe empezar con cmp_.

Las funciones que empiezan con probe_ definen palabras clave de sondeo nuevas. Por ejemplo, la función probe_tcx define la palabra clave de sondeo nueva tcx. Las funciones que empiezan con cmp_ definen palabras clave de regla nuevas. Por ejemplo, cmp_tcx define la palabra clave de regla nueva tcx.

Para crear un archivo custom_probes

  1. Use un editor de texto para crear un archivo de secuencia del shell Bourne. Asigne al archivo el nombre custom_probes.

  2. Defina las funciones de sondeo y comparación propias en el archivo de texto custom_probes.


    Nota –

    En el archivo custom_probes puede definir funciones de sondeo y comparación que requieran argumentos. Cuando use la palabra clave de sondeo correspondiente en el archivo rules, los argumentos que haya después de la palabra clave se interpretan en secuencia (como $1, $2, etc.).

    Cuando use la palabra clave de regla personalizada correspondiente en el archivo rules, los argumentos se entiende que empiezan secuencialmente después de la palabra clave y terminan antes de los caracteres && o la secuencia de inicio, lo que se dé antes.


  3. Guarde el archivo custom_probes en el directorio JumpStart, junto al archivo rules.

  4. Asegúrese de que root sea el propietario del archivo rules y de que los permisos estén establecidos en 644.

Ejemplos de archivo custom_probes y de palabras clave

Puede encontrar más ejemplos de funciones de sondeo y de comparación en estos directorios:

El archivo custom_probes siguiente contiene una función de sondeo y comparación que comprueba la presencia de una tarjeta gráfica TCX.


Ejemplo 28–1 Archivo custom_probes

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

El siguiente archivo rules de ejemplo muestra el uso de la palabra clave de sondeo que se ha definido en el ejemplo anterior, tcx. Si en el sistema hay una tarjeta gráfica TCX instalada y ésta se encuentra se ejecutará profile_tcx. En caso contrario, se ejecuta profile.


Nota –

Sitúe siempre palabras clave de sondeo lo más al principio que pueda del archivo rules para asegurarse de que las palabras clave se lean y ejecuten antes que otras que puedan depender de palabras clave de sondeo.



Ejemplo 28–2 Palabra clave de sondeo usada en un archivo rules

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