From 14bfbe6becb7ff9ee82da70132f10691845c7aab Mon Sep 17 00:00:00 2001 From: ramon Date: Mon, 16 Apr 2012 08:09:38 +0000 Subject: #501: Preparando nueva función {{{ogInstallWindowsClient}}}. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://opengnsys.es/svn/branches/version1.0@2964 a21b9725-9963-47de-94b9-378ad31fedc9 --- client/engine/PostConf.lib | 53 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) (limited to 'client/engine/PostConf.lib') diff --git a/client/engine/PostConf.lib b/client/engine/PostConf.lib index 3ed6cb9f..fd51be5e 100755 --- a/client/engine/PostConf.lib +++ b/client/engine/PostConf.lib @@ -19,7 +19,6 @@ #@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. -#@exception OG_ERR_NOTOS Sin sistema operativo. #@version 1.0.4 - Primera adaptación para OpenGnSys. #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2012-04-10 @@ -80,3 +79,55 @@ 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_filesys nº de orden del sistema de archivos +#@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 +#*/ +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 2 parámetros. +[ $# == 2 ] || 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 +[ -f $CLIENTFILE ] || ogRaiseError $OG_ERR_FOUND "$CLIENTFILE" || return $? +for i in winnt windows; do + DIR=$(ogGetPath $MNTDIR/$i) + [ -z "$DIR" ] && WINDIR=$DIR +done +[ -n "$WINDIR " ] || ogRaiseError $OG_ERR_NOTFOUND "$1 $2 windows" || return $? +# Realizar la instalación en modo uso exclusivo. +ogLock $1 $2 +# Copiar cliente, generar fichero de configuración e incluir en el arranque. +cp -a $CLIENTFILE "$WINDIR" +cat > $WINDIR/ogAdmLnxClient.cfg << EOT +ServidorAdm=$(ogGetServerIp) +PUERTO=2008 +IPLOCAL=$(ogGetIpAddress) +EOT +### TODO Incluir en arranque de Windows +ogUnlock $1 $2 +} + -- cgit v1.2.3-18-g5258