Este es el comando fai-class que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
fai-class: define clases usando archivos y scripts.
SINOPSIS
clase fai [OPTION] De miembros ARCHIVO DE CLASE
DESCRIPCIÓN
Este comando solo es llamado internamente por FAI y no directamente por el usuario.
fai-class ejecuta scripts en DIRECTORIO para definir clases. Todas las clases están escritas para
CLASSFILE, cada clase en una línea separada. Utilice rutas absolutas para ambos argumentos. Todos
Se ejecutan los scripts o ejecutables que coinciden con "^ [0-9] [0-9] *" (comienzan con dos dígitos)
en orden alfabético. Pueden definir clases escribiendo los nombres de las clases en
stdout. Las clases se pueden separar por espacios o escribir una en una línea. Todas las líneas que comienzan
con un "#" son líneas de comentario y se ignoran.
Los scripts de shell que terminan en ".sh" se obtienen y pueden definir clases configurando la variable
$ nuevas clases. Esto es útil para scripts en los que no puede controlar stdout. Variables que son
definidos en estos scripts están disponibles para otros scripts en DIRECTORY, pero no
exportado al shell que llama a fai-class. Esos scripts pueden definir variables escribiendo
definiciones al archivo $ LOGDIR / additional.var, que se obtendrá en el siguiente
tarea.
Todos los scripts pueden definir clases adicionales escribiendo las clases en el archivo
$ LOGDIR / clases-adicionales. Estas clases se definen después de que se ejecutan todos los scripts. Esta
El archivo temporal se eliminará después de su uso.
El orden de las clases es importante porque define la prioridad de las clases de
bajo a alto. Primero, se define la clase DEFAULT. Luego se ejecutan todos los scripts para definir
clases. Después de eso, se agregan las clases del archivo $ LOGDIR / additional-classes. Luego,
se agregan todas las clases en el archivo con el nombre de host. Entonces clases definidas por la variable
Se utilizan ADDCLASSES. Esta variable debe ser una lista de clases separada por comas. Usted puede
defina esta variable en la línea de comandos del kernel.
Finalmente, se define la clase con el nombre de host y LAST.
Es importante que cada línea de un archivo que contenga un nombre de clase termine con una nueva línea. Si el
Falta una nueva línea en la última línea de un archivo, esta clase no se puede agregar.
El código de salida de cada script se escribe en el archivo status.log en LOGDIR.
CAMPUS
-d Crea una salida de depuración.
-h Muestra ayuda, versión y resumen de opciones.
-T Pruebe si las clases en CLASSFILE se definen varias veces. Esto nunca debería suceder.
La prueba se ejecuta después de que se definen las clases.
-t tmpdir
El archivo additional-classes se lee desde el directorio tmpdir. El valor predeterminado es
/ tmp / fai /.
-v Cree una salida detallada.
EJEMPLOS
En FAI, fai-class se usa de la siguiente manera:
# fai-class / fai / class / tmp / fai / FAI_CLASSES
Luego, la lista de todas las clases se asigna a las clases de variables.
clases = `cat / tmp / fai / FAI_CLASSES`
EJEMPLOS PARA GUIONES
Este es el script 01alias:
#! / Bin / sh
catnc () {# gato pero sin líneas de comentario
grep -v "^ #" $ 1
}
# arquitectura de eco en mayúsculas
dpkg --print-architecture | tr / az / / AZ /
uname -s | tr / az / / AZ /
# ¿Todos los hosts se llaman hormiga? usa las clases en el archivo hormiguero
caso $ HOSTNAME en
hormiga ??) catnc hormiguero ;;
esac
# un grupo de Beowulf; todos los nodos excepto el nodo maestro
# usar clases de archivo class / atoms
caso $ HOSTNAME en
átomo00) eco BEOWULF_MASTER ;;
átomo ??) catnc átomos ;;
esac
# si el host pertenece a la subred clase C 123.45.6.0 use la clase NET_6
caso $ IPADDR en
123.45.6. *) Echo NET_6 ;;
esac
Otro ejemplo:
El guión 24nis:
#! / Bin / sh
# agregue NIS y el nombre de dominio NIS si YPDOMAIN está definido
si [-n "$ YPDOMAIN"]; entonces
echo "NIS $ YPDOMAIN" | tr /.az-/ / _A-Z_ /
más
eco NONIS
fi
Puede definir clases en la línea de comando del kernel agregando esto al kernel:
ADDCLASSES = CLASS1, CLASSX, CLASS3
NOTAS
Todos los nombres de las clases deben escribirse en mayúsculas (excepto la clase del nombre de host).
No use un guión, use un guión bajo. Solo se utilizan scripts ejecutables en DIRECTORY.
CLASSFILE se elimina antes de escribir en él. Los scripts no deben escribir directamente en CLASSFILE.
LOGDIR no debe poder escribirse para todos.
Use fai-class en línea usando los servicios de onworks.net