Este capítulo proporciona información y procedimientos para crear reglas y palabras clave de sondeo personalizadas.
Para comprender lo que es una palabra clave de sondeo, primero es necesario recordar qué es una palabra clave. Ésta es una palabra o unidad léxica predefinida que describe un atributo general de sistema, como el nombre del sistema, hostname, o la cantidad de memoria, memsize. Las palabras clave de regla y sus valores asociados permiten clasificar los sistemas e identificar los que tengan el mismo atributo con un perfil. Esta coincidencia de atributos del sistema determina cómo se instalará el software de Solaris en todos los sistemas del grupo.
Las variables de entorno de JumpStart personalizado, que se utilizan en secuencias de inicio y final, se definen a medida que se necesitan. Por ejemplo, la información sobre el sistema operativo que está ya instalado sólo está disponible en SI_INSTALLED después de usar la palabra clave de regla installed.
También es posible que se desee extraer una misma información en una secuencia de inicio o de fin por necesidades distintas a las de identificar un sistema y ejecutar un perfil. Las palabras clave de sondeo sirven para este propósito, ya que extraen información de atributos sin necesidad de definir una condición que cumplir ni ejecutar un perfil.
Para obtener una lista de palabras clave y valores, consulte Valores y palabras clave de sondeo.
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 de JumpStart en que guardó el archivo rules. Los dos tipos de funciones que puede definir en un archivo custom_probes son:
Sondeo: reúne la información que Vd. desea o realiza el trabajo propiamente y define la variable de entorno SI_ que defina. Las funciones de sondeo se convierten en palabras clave de sondeo.
Comparación: llama a una función de sondeo correspondiente, compara la salida de la función de sondeo y devuelve 0 si la palabra clave coincide o 1 si no coincide. Las funciones de comparación se convierten en palabras clave de reglas.
El archivo custom_probes puede contener cualquier comando, variable o algoritmo válidos del shell Bourne.
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:
Tener a root como propietario
Ser ejecutable y con los permisos 755
Contener al menos una función de sondeo y una función de comparación correspondiente
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.
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.
Use un editor de texto para crear un archivo de secuencia del shell Bourne. Asigne al archivo el nombre custom_probes.
Defina las funciones de sondeo y comparación propias en el archivo de texto custom_probes.
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 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.
Guarde el archivo custom_probes en el directorio JumpStart, junto al archivo rules.
Asegúrese de que root es el propietario del archivo rules y de que los permisos están establecidos en 644.
Puede encontrar más ejemplos de funciones de sondeo y de comparación en estos directorios:
/usr/sbin/install.d/chkprobe en sistemas con el software Solaris instalado
/Solaris_9/Tools/Boot/usr/sbin/install.d/chkprobe en el DVD de Solaris 9 o en el Software 1 de 2 de Solaris 9
El archivo custom_probes siguiente contiene una función de sondeo y comparación que comprueba la presencia de una tarjeta gráfica TCX.
#!/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.
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 leen y ejecutan antes que otras que puedan depender de palabras clave de sondeo.
probe tcx tcx tcx - profile_tcx - any any - profile - |
Antes de usar los archivos de perfil, rules y custom_probes, debe ejecutar la secuencia check para validar que los archivos están bien configurados. Si todos los perfiles, reglas y funciones de comparación están bien configurados, se crean los archivos rules.ok y custom_probes.ok. La Tabla 25–1 describe lo que hace la secuencia check.
Tabla 25–1 Qué ocurre cuando se usa la secuencia check
Verifique que la secuencia check está situada en el directorio JumpStart.
La secuencia check está en el directorio Solaris_9/Misc/jumpstart_sample del DVD de Solaris 9 o del CD Software 1 de 2 de Solaris 9.
Ejecute la secuencia check para validar los archivos rules y custom_probes.
$ ./check [[-p ruta -r nombre_archivo]] |
Valida el archivo custom_probes mediante la secuencia check de la imagen del software de Solaris 9 correspondiente a su plataforma, en lugar de la secuencia check desde el sistema que esté utilizando. ruta_de_acceso es la imagen del DVD de Solaris 9 o del Software 1 de 2 de Solaris 9 de un disco local o montado.
Use esta opción para ejecutar la versión más reciente de check, si su sistema tiene una versión anterior de Solaris.
Especifica un nombre de archivo distinto de custom_probes. Mediante la opción -r, puede comprobar la validez de un conjunto de funciones antes de integrarlas en el archivo custom_probes.
A medida que se ejecuta, la secuencia check devuelve la validez de los archivos rules y custom_probes y de todos los perfiles. Si no se encuentran errores, la secuencia emite el siguiente mensaje: “The custom JumpStart configuration is ok” y crea los archivos rules.ok y custom_probes.ok en el directorio JumpStart.
Determine si el archivo custom_probes.ok es ejecutable.
Si lo es, vaya al Paso 5.
Si no lo es, escriba el comando siguiente:
# chmod +x custom_probes |
Asegúrese de que root es el propietario del archivo custom_probes.ok y de que los permisos están establecidos en 755.