diff options
author | ramon <ramongomez@us.es> | 2014-03-06 11:41:02 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2014-03-06 11:41:02 +0000 |
commit | 204603e7dac7b25f2a5ef6d5574d880419bdbca9 (patch) | |
tree | 9da9775cde7dfe85d8ae1909f63fc40bf60b2e06 /client | |
parent | 2ba4a6c645f25f934b46307fba3678e9281ebc94 (diff) |
639: Evitar duplicar la instalación del cliente Linux.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4179 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client')
-rwxr-xr-x | client/engine/PostConf.lib | 112 |
1 files changed, 59 insertions, 53 deletions
diff --git a/client/engine/PostConf.lib b/client/engine/PostConf.lib index 369301de..f85b239f 100755 --- a/client/engine/PostConf.lib +++ b/client/engine/PostConf.lib @@ -4,7 +4,7 @@ #@brief Librería o clase PostConf #@class PostConf #@brief Funciones para la postconfiguración de sistemas operativos. -#@version 1.0.4 +#@version 1.0.5 #@warning License: GNU GPLv3+ #*/ @@ -257,60 +257,10 @@ ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, strPassword, _ EOF } -#/** -# ogInstallWindowsClient int_ndisk int_filesys -#@brief Instala el cliente OpenGnSys para sistemas operativos Windows. -#@param int_ndisk nº de orden del disco -#@param int_npartition nº de orden de la partición -#@param str_filename nombre del fichero cmd donde deberemos introducir el comando de ejecutar el script vbs -#@return (nada) -#@exception OG_ERR_FORMAT Formato incorrecto. -#@exception OG_ERR_NOTFOUND Fichero o dispositivo no encontrado. -#@exception OG_ERR_PARTITION Paritición o sistema de archivos incorrectos. -#@exception OG_ERR_LOCKED Sistema de archivos bloqueado. -#@version 1.0.4 - Primera adaptación para OpenGnSys. -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2012-04-11 -#@version 1.0.5 - Cambios en los parametros de entrada y funcionamiento de la funcion -#@author Jonathan Alonso Martinez - Universidad Autonoma de Barcelona -#@date 2013-02-12 -#*/ ## - -function ogInstallWindowsClient () -{ -# Variables locales. -local PART MNTDIR CLIENTFILE i SBINDIR ETCDIR RCLOCAL -# Si se solicita, mostrar ayuda. -if [ "$*" == "help" ]; then - ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_filesys" \ - return -fi - -# Error si no se reciben 3 parámetros. -[ $# == 3 ] || ogRaiseError $OG_ERR_FORMAT || return $? -# Obtener sistema de archvios. -PART="$(ogDiskToDev $1 $2)" || return $? -# Comprobar si el sistema de archivos no está bloqueado. -MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? -# Comprobar si existe el cliente y los directorios y ficheros destino. -CLIENTFILE=$OGLIB/ogclient/ogAdmWinClient.exe -[ -f $CLIENTFILE ] || ogRaiseError $OG_ERR_FOUND "$CLIENTFILE" || return $? -for i in winnt windows; do - DIR=$(ogGetPath $MNTDIR/$i) - [ -n "$DIR" ] && WINDIR=$DIR -done -[ -n "$WINDIR " ] || ogRaiseError $OG_ERR_NOTFOUND "$1 $2 windows" || return $? -# Copiar cliente e incluir en el fichero de configuracion dado que instale el cliente en el arranque. -cp -a $CLIENTFILE "$WINDIR" -ogAddCmd $1 $2 $3 "ogAdmWinClient -remove" -ogAddCmd $1 $2 $3 "ogAdmWinClient -install -s $(ogGetServerIp) -p 2008 -i $(ogGetIpAddress)" -} - #/** # ogInstallLinuxClient int_ndisk int_filesys -#@brief Instala el cliente OpenGnSys para sistemas operativos Linux. +#@brief Instala el cliente OpenGnSys para sistemas operativos GNU/Linux. #@param int_ndisk nº de orden del disco #@param int_filesys nº de orden del sistema de archivos #@return (nada) @@ -321,6 +271,9 @@ ogAddCmd $1 $2 $3 "ogAdmWinClient -install -s $(ogGetServerIp) -p 2008 -i $(ogGe #@version 1.0.4 - Primera adaptación para OpenGnSys. #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2012-04-10 +#@version 1.0.5 - Evitar duplicidad de instalación del cliente. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2014-03-06 #*/ ## function ogInstallLinuxClient () { @@ -372,8 +325,61 @@ awk -v sbin=$SBINDIR -v etc=$ETCDIR \ if (loc==0) { printf "%s/ogAdmLnxClient -f %s/ogAdmLnxClient.cfg &\n",sbin,etc; loc=1; } - print; } + if (! /ogAdmLnxClient/) + print; } }' /tmp/rclocal > $MNTDIR/$RCLOCAL rm /tmp/rclocal ogUnlock $1 $2 } + + +#/** +# ogInstallWindowsClient int_ndisk int_filesys +#@brief Instala el cliente OpenGnSys para sistemas operativos Windows. +#@param int_ndisk nº de orden del disco +#@param int_npartition nº de orden de la partición +#@param str_filename nombre del fichero cmd donde deberemos introducir el comando de ejecutar el script vbs +#@return (nada) +#@exception OG_ERR_FORMAT Formato incorrecto. +#@exception OG_ERR_NOTFOUND Fichero o dispositivo no encontrado. +#@exception OG_ERR_PARTITION Paritición o sistema de archivos incorrectos. +#@exception OG_ERR_LOCKED Sistema de archivos bloqueado. +#@version 1.0.4 - Primera adaptación para OpenGnSys. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2012-04-11 +#@version 1.0.5 - Cambios en los parametros de entrada y funcionamiento de la funcion +#@author Jonathan Alonso Martinez - Universidad Autonoma de Barcelona +#@date 2013-02-12 +#*/ ## + +function ogInstallWindowsClient () +{ +# Variables locales. +local PART MNTDIR CLIENTFILE i SBINDIR ETCDIR RCLOCAL +# Si se solicita, mostrar ayuda. +if [ "$*" == "help" ]; then + ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_filesys" \ + return +fi + +# Error si no se reciben 3 parámetros. +[ $# == 3 ] || ogRaiseError $OG_ERR_FORMAT || return $? +# Obtener sistema de archvios. +PART="$(ogDiskToDev $1 $2)" || return $? +# Comprobar si el sistema de archivos no está bloqueado. +MNTDIR=$(ogMount $1 $2) 2>/dev/null +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? +# Comprobar si existe el cliente y los directorios y ficheros destino. +CLIENTFILE=$OGLIB/ogclient/ogAdmWinClient.exe +[ -f $CLIENTFILE ] || ogRaiseError $OG_ERR_FOUND "$CLIENTFILE" || return $? +for i in winnt windows; do + DIR=$(ogGetPath $MNTDIR/$i) + [ -n "$DIR" ] && WINDIR=$DIR +done +[ -n "$WINDIR " ] || ogRaiseError $OG_ERR_NOTFOUND "$1 $2 windows" || return $? +# Copiar cliente e incluir en el fichero de configuracion dado que instale el cliente en el arranque. +cp -a $CLIENTFILE "$WINDIR" +ogAddCmd $1 $2 $3 "ogAdmWinClient -remove" +ogAddCmd $1 $2 $3 "ogAdmWinClient -install -s $(ogGetServerIp) -p 2008 -i $(ogGetIpAddress)" +} + |