Guía de instalación de Solaris 10 8/07: instalaciones avanzadas y JumpStart personalizadas

Capítulo 5 Creación de reglas y palabras clave de sondeo personalizadas (tareas)

Este capítulo proporciona información y procedimientos para crear reglas y palabras clave de sondeo personalizadas.

Palabras clave de sondeo

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 de éste, 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.

En determinadas situaciones, quizá deba extraer la misma información en una secuencia de comandos de inicio o de fin para una finalidad que no sea la 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 las palabras clave de sondeo y los valores, consulte Valores y palabras clave de sondeo.

Creación de un archivo custom_probes

Es posible que las palabras clave de regla y sondeo que se describen en Valores y palabras clave de reglas y Valores y palabras clave de sondeo no sean lo suficientemente precisas para sus necesidades. Puede definir sus propias palabras clave de sondeo o reglas personalizadas 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 comando, 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 personalizada correspondiente en el archivo rules, los argumentos se interpretan en secuencia. La secuencia se inicia después de la palabra clave y termina antes del siguiente && o inicio de secuencia, lo que primero suceda.


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.

ProcedurePara 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 personalizada correspondiente en el archivo rules, los argumentos se interpretan en secuencia. La secuencia se inicia después de la palabra clave y termina antes del siguiente && o inicio de secuencia, lo que primero suceda.


  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 5–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
  if
}

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 en un sistema, se ejecutará profile_tcx. En caso contrario, se ejecuta profile.


Nota –

Coloque siempre las palabras clave de sondeo al principio, o cerca del principio, del archivo rules. Esta colocación asegura que las palabras clave se leen y ejecutan antes de otras palabras clave de reglas que puedan depender de palabras clave de sondeo.



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

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

Validación del archivo custom_probes

Antes de poder utilizar un archivo de perfil rules y custom_probes, debe ejecutar la secuencia de comandos check para confirmar que los archivos estén correctamente configurados. Si todos los perfiles, reglas, sondeos y funciones de comparación están bien configurados, se crean los archivos rules.ok y custom_probes.ok. La Tabla 5–1 describe las acciones que realiza la secuencia de comandos check.

Tabla 5–1 Qué ocurre cuando se usa la secuencia check

Etapa 

Descripción 

check busca un archivo custom_probes.

Si existe el archivo, el comando check crea el archivo custom_probes.ok a partir del archivo custom_probes, suprime todos los comentarios y líneas en blanco, y mantiene todos los comandos shell de Bourne, variables algoritmos. A continuación, check agrega la siguiente línea de comentario al final:

# version=2 checksum=num

ProcedurePara validar el archivo custom_probes

  1. Verifique que la secuencia check esté situada en el directorio JumpStart.


    Nota –

    La secuencia de comandos check se ubica en el directorio de Solaris_10/Misc/jumpstart_sample del DVD del sistema operativo Solaris o en el CD de Software de Solaris - 1.


  2. Cambie al directorio JumpStart.

  3. Ejecute la secuencia de comandos check para validar los archivos rules y custom_probes.


    $ ./check -p ruta -r nombre_archivo
    
    -p ruta

    Valida el archivo custom_probes mediante la secuencia de comandos check de la imagen del software de Solaris de su plataforma en lugar de la secuencia check del sistema que esté utilizando. ruta_de_acceso es la imagen del DVD del sistema operativo Solaris o del Software de Solaris - 1 de un disco local o montado.

    Utilice esta opción para ejecutar la versión más reciente de check si el sistema está ejecutanto una versión anterior de Solaris.

    -r nombre_archivo

    Especifica un nombre de un 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.

    Cuando se ejecuta la secuencia de comandos check, la secuencia de comandos comprueba la validez de los archivos rules y custom_probes y de cada perfil. 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.

  4. Determina si el archivo custom_probes.ok es ejecutable.

    • Si la respuesta es afirmativa, vaya a Paso 5.

    • Si no lo es, escriba el comando siguiente:


      # chmod +x custom_probes
      
  5. Asegúrese de que root sea el propietario del archivo custom_probes.ok y de que los permisos estén establecidos en 755.