diff options
-rwxr-xr-x | client/engine/PostConf.lib | 42 | ||||
-rwxr-xr-x | client/shared/scripts/configureOs | 16 |
2 files changed, 54 insertions, 4 deletions
diff --git a/client/engine/PostConf.lib b/client/engine/PostConf.lib index 7b6062de..a28b3dee 100755 --- a/client/engine/PostConf.lib +++ b/client/engine/PostConf.lib @@ -447,6 +447,48 @@ EOT #/** +# ogConfigureOsAgent int_ndisk int_filesys +#@brief Configura el agente OpenGnsys para sistemas operativos. +#@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_LOCKED Sistema de archivos bloqueado. +#@version 1.1.0 - Primera versión para OpenGnsys. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2016-08-16 +#*/ ## +function ogConfigureOsAgent () +{ +# Variables locales. +local MNTDIR CFGFILE i +# Si se solicita, mostrar ayuda. +if [ "$*" == "help" ]; then + ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_filesys" \ + "$FUNCNAME 1 1" + return +fi + +# Error si no se reciben 2 parámetros. +[ $# == 2 ] || ogRaiseError $OG_ERR_FORMAT || return $? +# Obtener sistema de archvios. +MNTDIR=$(ogMount $1 $2) || return $? + +# Buscar fichero de configuración de OGAgent. +for i in usr/share "Program Files" "Program Files (x86)"; do + CFGFILE=$(ogGetPath "$MNTDIR/$i/OGAgent/cfg/ogagent.cfg") + [ -n "$CFGFILE" ] && break +done +# Error si no se encuentra el archivo de configuración. +[ -n "$CFGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "ogagent.cfg" || return $? + +# Parchear fichero de configuración de OGAgent con IP del servidor OpenGnsys. +sed -i -e "0,/^remote=/ s,^\(remote=https://\)\([^/]*\)\(.*\)$,\1$(ogGetServerIp)\3," $CFGFILE +} + + +#/** # ogInstallLinuxClient int_ndisk int_filesys #@brief Instala el cliente OpenGnSys para sistemas operativos GNU/Linux. #@param int_ndisk nº de orden del disco diff --git a/client/shared/scripts/configureOs b/client/shared/scripts/configureOs index 2aa5288d..8b32f403 100755 --- a/client/shared/scripts/configureOs +++ b/client/shared/scripts/configureOs @@ -26,6 +26,10 @@ #@version 1.0.5 - Postconfiguración para Mac OS X. #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2013-10-11 +#@version 1.1.0 - Postconfiguración para agente de sistema operativo basado en REST. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2016-08-16 +#*/ ## # Carga el configurador del engine y los parámetros de red. [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg @@ -69,8 +73,10 @@ case "$OSTYPE" in # Registrar en Windows que la partición indicada es su nueva unidad C:\ ogWindowsRegisterPartition $1 $2 C $1 $2 #ogLoadHiveWindows $1 $2; ogSetWindowsChkdisk $OGWINCHKDISK; ogUpdateHiveWindows - # Instalar cliente para Windows si se indica en la variable INSTALLOSCLIENT. - if [ "${INSTALLOSCLIENT^^}" == "TRUE" ]; then + # Instalar nuevo agente de sistema operativo o el antiguo cliente para Windows. + if [ "${INSTALLOSAGENT^^}" == "TRUE" ]; then + ogConfigureOsAgent $1 $2 + elif [ "${INSTALLOSCLIENT^^}" == "TRUE" ]; then ogInstallMiniSetup $1 $2 postconf.cmd ogInstallWindowsClient $1 $2 postconf.cmd fi @@ -78,8 +84,10 @@ case "$OSTYPE" in Linux) # Postconfiguración de GNU/Linux. ## Install and Configure Grub based on OS installed and Grub 1st stage location. ogGrubInstallPartition $1 $2 - # Instalar cliente para GNU/Linux si se indica en la variable INSTALLOSCLIENT. - if [ "${INSTALLOSCLIENT^^}" == "TRUE" ]; then + # Instalar nuevo agente de sistema operativo o el antiguo cliente para GNU/Linux. + if [ "${INSTALLOSAGENT^^}" == "TRUE" ]; then + ogConfigureOsAgent $1 $2 + elif [ "${INSTALLOSCLIENT^^}" == "TRUE" ]; then ogInstallLinuxClient $1 $2 fi ;; |