= Post-configuración del sistema operativo específica de cada grupo de ordenadores = A veces necesitamos una postconfiguración específica para una aula concreta. OpenGnsys ofrece funciones y un script de ejemplo que facilita esta tarea. == Funciones para configurar los grupos == '''ogGetGroupName:''' Devuelve el nombre del grupo del equipo. {{{ ogGetGroupName [sin parámetros] }}} '''ogGetGroupDir:''' Devuelve el nombre del directorio del grupo del equipo. {{{ ogGetGroupDir [sin parámetros] }}} Al equipo cliente se le pasa como parámetro del kernel el nombre de su grupo en la variable group, por simplificar se ha tomado como grupo el aula al que pertenezca el equipo. Los grupos se llamarán igual que las aulas definidas en la consola de administración, quitándoles los acentos, sustituyendo las ñ por n y los espacio por _. == Directorios de los grupos == Se sitúan en el repositorio en: {{{ mkdir /opt/opengnsys/images/groups/Nombre_grupo }}} Estos directorios hay que crearlos, no se crean en la instalación. Se ponen archivos o marcas dentro del directorio del grupo (si queremos que afecte a todas las imágenes) o del subdirectorio de la imagen dentro del grupo. Los archivos se copian en el sitio correcto del sistema y las marcas se comprueba que existen para iniciar una accion (ej: cambiar registro) == Script de postconfiguración por grupos == Existe un script de ejemplo llamado '''/opt/opengnsys/client/scripts/samples/configureGroup'''. La sintaxis para utilizarlo es: {{{ configureGroup REPO Nombre_imagen Num_disk Num_part }}} El script revisará los archivos y marcas existentes en el directorio del grupo y realizará las acciones que hayamos previsto. Al terminar de realizar la instalación de la imagen llamaremos al script configureGroup. El comando buscará en el repositorio si existe el directorio grupo y de la imagen que se ha restaurado y para determinados archivos realizará acciones. Por ejemplo en el caso de Linux si encuentra un archivo grub.cfg lo copiara a $PARTICION/boot/grub.d/ Existen funciones de postconfiguración para Linux, XP y Windows 7. Pretenden ser sólo un ejemplo y que sean personalizables. == Ejemplo == Supongamos que tenemos una imagen de Linux con un usuario para los profesores y otros para los alumnos. En las aulas de teoría me interesa que no exista el usuario "alumnos", podría utilizar la imagen genérica copiándole el archivo /etc/password con la configuración correcta. Suponiendo que el grupo se llama teoria y la imagen imgLinux., en el servidor tendré el archivo passwd situado en: {{{ /opt/opengnsys/images/groups/teoria/imgLinux/passwd }}} En el fichero de configureGroup tendré una línea que revise si en el subdirectorio de la imagen dentro del directorio del grupo existe el archivo y si es así lo copie al sitio correcto. El script quedaría: {{{ # Procesar parámetros. PART=$(ogMount $3 $4) IMGNAME=$(basename $2) GROUPDIR=$(ogGetGroupDir) IMGDIR=$GROUPDIR/$IMGNAME TYPE=$(ogGetOsVersion $3 $4) case "$TYPE" in Linux*) echo "PostConfiguracion de Linux para el grupo $group" # Si existen estos ficheros en el directorio del grupo o de la imagen se copian a la particion [ -e $IMGDIR/passwd ] && echo "ogCopyFile $IMGDIR/passwd $3 $4 /etc/passwd" && ogCopyFile $IMGDIR/passwd $3 $4 /etc esac }}} Nota: se ha simplificado mucho, en el script de ejemplo se controlan los parámetros y algunos errores.