summaryrefslogtreecommitdiffstats
path: root/client/shared/scripts/samples
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2012-05-16 12:13:43 +0000
committeririna <irinagomez@us.es>2012-05-16 12:13:43 +0000
commit62f9ca1f7fc8070805058094ea743f9244b5e192 (patch)
treeec20425a1ecc6fdedde91f38e9d542fefdc717e0 /client/shared/scripts/samples
parent283ed2069a6bb578f654c454576a50521dcb35ff (diff)
#427 script de ejemplo para la postconfiguracion del sistema operativo especifica para cada grupos de ordenadores
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3035 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/shared/scripts/samples')
-rwxr-xr-xclient/shared/scripts/samples/configureGroup65
1 files changed, 65 insertions, 0 deletions
diff --git a/client/shared/scripts/samples/configureGroup b/client/shared/scripts/samples/configureGroup
new file mode 100755
index 00000000..65638438
--- /dev/null
+++ b/client/shared/scripts/samples/configureGroup
@@ -0,0 +1,65 @@
+#!/bin/bash
+#/**
+#@file configureGroup
+#@brief Script de ejemplo de post-configuracion del sistema operativo especifica de cada grupo de ordenadores.
+#@brief El directorio del grupo en el repositorio se situa en /opt/opengnsys/groups/Nombre_Grupo
+#@brief Se ponen archivos o marcas dentro del directorio del grupo (si queremos que afecte a todas las imagenes)
+#@brief o del subdirectorio de la imagen dentro del grupo. Los archivos se copian en el sitio correcto del sistema
+#@brief y las marcas se comprueba que existen para inicar una accion (ej: cambiar registro)
+#@param str_repo repositorio de imágenes (remoto o caché local)
+#@param path_image camino de la imagen (sin extensión)
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la particion
+#@return
+#@exception OG_ERR_FORMAT Formato incorrecto.
+#@exception OG_ERR_PARTITION Tipo de partición desconocido o no se puede montar.
+#@warning License: GNU GPLv3+
+#*/
+
+# Si se solicita, mostrar ayuda.
+if [ "$*" == "help" ]; then
+ ogHelp "$0" "$0 path_dir str_image int_ndisk int_npart" \
+ "$0 REPO /aula1/winxp 1 1"
+ exit
+fi
+
+# Error si no se reciben 4 parámetros.
+[ $# -eq 4 ] || ogRaiseError $OG_ERR_FORMAT || exit $?
+
+# Procesar parámetros.
+PART=$(ogMount $3 $4) || ogRaiseError $OG_ERR_PARTITION "$3 $4" || exit $?
+IMGNAME=$(basename $2)
+GROUPDIR=$(ogGetGroupDir)
+IMGDIR=$GROUPDIR/$IMGNAME
+
+# Comprobamos que exista GROUPDIR. Si no existe no es error, nada que configurar
+[ ! -x "$GROUPDIR" ] && exit 0
+
+
+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/menu.lst ] && echo "cp -f $IMGDIR/menu.lst $PART/boot/grub/menu.lst" && cp -f $IMGDIR/menu.lst $PART/boot/grub/menu.lst
+ [ -e $IMGDIR/grub.cfg ] && echo "cp $IMGDIR/grub.cfg $PART/boot/grub/grub.cfg" && cp -f $IMGDIR/grub.cfg $PART/boot/grub/grub.cfg
+ [ -e $IMGDIR/hosts ] && echo "cp -f $IMGDIR/hosts $PART/etc/hosts" && cp -f $IMGDIR/hosts $PART/etc/hosts
+ [ -e $IMGDIR/fstab ] && echo "cp -f $IMGDIR/fstab $PART/etc/fstab" && cp -f $IMGDIR/fstab $PART/etc/fstab
+ [ -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
+ [ -e $IMGDIR/rc.local ] && echo "cp -f $IMGDIR/rc.local $PART/etc/rc.local" && cp -f $IMGDIR/rc.local $PART/etc/rc.local
+ [ -e $IMGDIR/interfaces ] && echo "cp -f $IMGDIR/interfaces $PART/etc/network/interfaces" && cp -f $IMGDIR/interfaces $PART/etc/network/interfaces
+ [ -e $IMGDIR/passwd ] && echo "cp -f $IMGDIR/passwd $PART/etc/passwd" && cp -f $IMGDIR/passwd $PART/etc/passwd
+ ;;
+
+ *Windows\ XP) echo "PostConfiguracion de XP para el grupo $group"
+ # Si existen estos ficheros en el directorio del grupo o de la imagen se copian a la particion
+ [ -e $IMGDIR/SAM ] && echo "cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM" && cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM
+ ;;
+ *Windows\ 7*) echo "Postconfiguracion de W7 para el grupo $group"
+ # Si existen estos ficheros en el directorio del grupo o de la imagen se copian a la particion
+ [ -e $IMGDIR/SAM ] && echo "cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM" && cp -f $IMGDIR/SAM $PART/Windows/System32/config/SAM
+ ;;
+ *) exit 0
+ ;;
+ esac
+