[62f9ca1] | 1 | #!/bin/bash |
---|
| 2 | #/** |
---|
| 3 | #@file configureGroup |
---|
| 4 | #@brief Script de ejemplo de post-configuracion del sistema operativo especifica de cada grupo de ordenadores. |
---|
| 5 | #@brief El directorio del grupo en el repositorio se situa en /opt/opengnsys/groups/Nombre_Grupo |
---|
| 6 | #@brief Se ponen archivos o marcas dentro del directorio del grupo (si queremos que afecte a todas las imagenes) |
---|
| 7 | #@brief o del subdirectorio de la imagen dentro del grupo. Los archivos se copian en el sitio correcto del sistema |
---|
| 8 | #@brief y las marcas se comprueba que existen para inicar una accion (ej: cambiar registro) |
---|
| 9 | #@param str_repo repositorio de imágenes (remoto o caché local) |
---|
| 10 | #@param path_image camino de la imagen (sin extensión) |
---|
| 11 | #@param int_ndisk nº de orden del disco |
---|
| 12 | #@param int_npartition nº de orden de la particion |
---|
| 13 | #@return |
---|
| 14 | #@exception OG_ERR_FORMAT Formato incorrecto. |
---|
| 15 | #@exception OG_ERR_PARTITION Tipo de partición desconocido o no se puede montar. |
---|
| 16 | #@warning License: GNU GPLv3+ |
---|
| 17 | #*/ |
---|
| 18 | |
---|
| 19 | # Si se solicita, mostrar ayuda. |
---|
| 20 | if [ "$*" == "help" ]; then |
---|
| 21 | ogHelp "$0" "$0 path_dir str_image int_ndisk int_npart" \ |
---|
| 22 | "$0 REPO /aula1/winxp 1 1" |
---|
| 23 | exit |
---|
| 24 | fi |
---|
| 25 | |
---|
| 26 | # Error si no se reciben 4 parámetros. |
---|
| 27 | [ $# -eq 4 ] || ogRaiseError $OG_ERR_FORMAT || exit $? |
---|
| 28 | |
---|
| 29 | # Procesar parámetros. |
---|
| 30 | PART=$(ogMount $3 $4) || ogRaiseError $OG_ERR_PARTITION "$3 $4" || exit $? |
---|
| 31 | IMGNAME=$(basename $2) |
---|
| 32 | GROUPDIR=$(ogGetGroupDir) |
---|
| 33 | IMGDIR=$GROUPDIR/$IMGNAME |
---|
| 34 | |
---|
| 35 | # Comprobamos que exista GROUPDIR. Si no existe no es error, nada que configurar |
---|
| 36 | [ ! -x "$GROUPDIR" ] && exit 0 |
---|
| 37 | |
---|
| 38 | |
---|
| 39 | TYPE=$(ogGetOsVersion $3 $4) |
---|
| 40 | |
---|
| 41 | case "$TYPE" in |
---|
| 42 | Linux*) echo "PostConfiguracion de Linux para el grupo $group" |
---|
| 43 | # Si existen estos ficheros en el directorio del grupo o de la imagen se copian a la particion |
---|
| 44 | [ -e $IMGDIR/menu.lst ] && echo "cp -f $IMGDIR/menu.lst $PART/boot/grub/menu.lst" && cp -f $IMGDIR/menu.lst $PART/boot/grub/menu.lst |
---|
| 45 | [ -e $IMGDIR/grub.cfg ] && echo "cp $IMGDIR/grub.cfg $PART/boot/grub/grub.cfg" && cp -f $IMGDIR/grub.cfg $PART/boot/grub/grub.cfg |
---|
| 46 | [ -e $IMGDIR/hosts ] && echo "cp -f $IMGDIR/hosts $PART/etc/hosts" && cp -f $IMGDIR/hosts $PART/etc/hosts |
---|
| 47 | [ -e $IMGDIR/fstab ] && echo "cp -f $IMGDIR/fstab $PART/etc/fstab" && cp -f $IMGDIR/fstab $PART/etc/fstab |
---|
| 48 | [ -e $IMGDIR/xorg.conf ] && echo "cp -f $IMGDIR/xorg.conf $PART/etc/X11/xorg.conf" && cp -f $IMGDIR/xorg.conf $PART/etc/X11/xorg.conf |
---|
| 49 | [ -e $IMGDIR/rc.local ] && echo "cp -f $IMGDIR/rc.local $PART/etc/rc.local" && cp -f $IMGDIR/rc.local $PART/etc/rc.local |
---|
| 50 | [ -e $IMGDIR/interfaces ] && echo "cp -f $IMGDIR/interfaces $PART/etc/network/interfaces" && cp -f $IMGDIR/interfaces $PART/etc/network/interfaces |
---|
| 51 | [ -e $IMGDIR/passwd ] && echo "cp -f $IMGDIR/passwd $PART/etc/passwd" && cp -f $IMGDIR/passwd $PART/etc/passwd |
---|
| 52 | ;; |
---|
| 53 | |
---|
| 54 | *Windows\ XP) echo "PostConfiguracion de XP para el grupo $group" |
---|
| 55 | # Si existen estos ficheros en el directorio del grupo o de la imagen se copian a la particion |
---|
| 56 | [ -e $IMGDIR/SAM ] && echo "cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM" && cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM |
---|
| 57 | ;; |
---|
| 58 | *Windows\ 7*) echo "Postconfiguracion de W7 para el grupo $group" |
---|
| 59 | # Si existen estos ficheros en el directorio del grupo o de la imagen se copian a la particion |
---|
| 60 | [ -e $IMGDIR/SAM ] && echo "cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM" && cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM |
---|
| 61 | ;; |
---|
| 62 | *) exit 0 |
---|
| 63 | ;; |
---|
| 64 | esac |
---|
| 65 | |
---|