summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2012-04-16 08:09:38 +0000
committerramon <ramongomez@us.es>2012-04-16 08:09:38 +0000
commit14bfbe6becb7ff9ee82da70132f10691845c7aab (patch)
tree86b0e6ea56c2f9ef4753854dc299be7e83a5d27b
parent91c99215c2c88c70247ab0ca0f033a45f539509b (diff)
#501: Preparando nueva función {{{ogInstallWindowsClient}}}.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@2964 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-xclient/engine/PostConf.lib53
1 files changed, 52 insertions, 1 deletions
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
+}
+