diff options
author | ramon <ramongomez@us.es> | 2017-01-11 13:18:35 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2017-01-11 13:18:35 +0000 |
commit | fac0b87ec2e4ebd6f78788fc632a63d8c95da69b (patch) | |
tree | 4f0fd457020990d97c791c41f8615f7dd4ecfeab /server | |
parent | c21abbcd5a7fa6f00957f9bd8cf44257f7f08ad5 (diff) |
#754: Integrar los cambios de la versión de mantenimiento OpenGnSys 1.0.6b a la rama principal.
git-svn-id: https://opengnsys.es/svn/trunk@5143 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'server')
-rwxr-xr-x | server/bin/comparedhcpopengnsys | 2 | ||||
-rwxr-xr-x | server/bin/installoglive | 25 | ||||
-rwxr-xr-x | server/bin/setclientmode | 7 | ||||
-rwxr-xr-x | server/bin/setserveraddr | 1 |
4 files changed, 28 insertions, 7 deletions
diff --git a/server/bin/comparedhcpopengnsys b/server/bin/comparedhcpopengnsys index 53a9684c..c303995a 100755 --- a/server/bin/comparedhcpopengnsys +++ b/server/bin/comparedhcpopengnsys @@ -40,7 +40,7 @@ EOT trap "rm -f $TMP_DHCP $TMP_MYSQL $TMP_MYCNF" 1 2 3 9 15 # Creo fichero temporal del dhcp grep -v "#" $DHCPFILE |egrep -e "host " -e "hardware ethernet" -e fixed-address | sed -e 's/.$//' \ - |sed -e s/"^.*host "//g -e s/\{/\;/g -e s/"^.*hardware ethernet "/=/g -e s/"^.*fixed-address "/=/g \ + | sed -e s/"^.*host[[:space:]]*"//g -e s/\{/\;/g -e s/"^.*hardware ethernet[[:space:]]*"/=/g -e s/"^.*fixed-address[[:space:]]*"/=/g \ | sed -e :a -e '$!N;s/\n=/ \;/;ta' -e 'P;D'\ | sed -e s/\ //g -e s/://g -e s/\;$//g -e s/\;\;/\;/g |sort > $TMP_DHCP diff --git a/server/bin/installoglive b/server/bin/installoglive index 32d90f82..a5cbcc57 100755 --- a/server/bin/installoglive +++ b/server/bin/installoglive @@ -2,8 +2,11 @@ # installoglive - descarga e instala cliente ogLive. # Nota: El usuario debe elegir el número del ogLive que desea instalar. # Uso: installoglive -# Autor: Ramón M. Gómez - ETSII Univ. Sevilla -# Fecha: 2015-01-26 +# Autor: Ramón M. Gómez - ETSII Univ. Sevilla +# Fecha: 2015-01-26 +# Versión: 1.0.6b - Adaptar la versión de Rsync de cliente y servidor. +# Autor: Ramón M. Gómez - ETSII Univ. Sevilla +# Fecha: 2015-12-16 # Control de acceso. @@ -56,7 +59,6 @@ mkdir -p $TMPDIR mount -o loop,ro $TARGETFILE $TMPDIR cp -va $TMPDIR/ogclient $OPENGNSYS/tftpboot/ogclient umount $TMPDIR -rmdir $TMPDIR # Recuperar la clave de acceso a Samba o solicitar una nueva clave. if [ -n "$SAMBAPASS" ]; then @@ -73,3 +75,20 @@ chown -R :opengnsys $OPENGNSYS/tftpboot/ogclient # Ofrecer md5 del kernel y vmlinuz para ogupdateinitrd en cache cp -av $OPENGNSYS/tftpboot/ogclient/{ogvmlinuz,oginitrd.img}* $OPENGNSYS/tftpboot +# Montar SquashFS para comprobar versión de Rsync. +mount -o loop,ro $OPENGNSYS/tftpboot/ogclient/ogclient.sqfs $TMPDIR +# Si versión Rsync de servidor > cliente, enlazar a fichero compilado. +RSYNCSERV=$(rsync --version 2>/dev/null | awk '/protocol/ {print $6}') +RSYNCCLNT=$(chroot $TMPDIR /usr/bin/rsync --version 2>/dev/null | awk '/protocol/ {print $6}') +if [ -z "$RSYNCSERV" -o ${RSYNCSERV:-0} -gt ${RSYNCCLNT:-1} ]; then + [ -e $OPENGNSYS/client/bin/rsync-$RSYNCSERV ] && mv -f $OPENGNSYS/client/bin/rsync-$RSYNCSERV $OPENGNSYS/client/bin/rsync +else + # Si no, renombrar fichero compilado con nº de protocolo. + [ -e $OPENGNSYS/client/bin/rsync ] && mv -f $OPENGNSYS/client/bin/rsync $OPENGNSYS/client/bin/rsync-$($OPENGNSYS/client/bin/rsync --version 2>/dev/null | awk '/protocol/ {print $6}') +fi +# Desmontar SquashFS. +umount $TMPDIR +rmdir $TMPDIR +# Versión del ogLive instalado +echo "${OGLIVEFILE%.*}" > $OPENGNSYS/doc/veroglive.txt + diff --git a/server/bin/setclientmode b/server/bin/setclientmode index 68729cc0..98db3630 100755 --- a/server/bin/setclientmode +++ b/server/bin/setclientmode @@ -66,8 +66,9 @@ NPC=0 for MAC in $ETHERNET; do date +"%b %d %T $PROG: Detectada ethernet \"$MAC\" en \"$2\"" | tee -a $LOGFILE # Si existe anteriormente el fichero PXE, lo borra - PXEFILE=$PXEDIR/01-${MAC:0:2}-${MAC:2:2}-${MAC:4:2}-${MAC:6:2}-${MAC:8:2}-${MAC:10:2} - [ -e $PXEFILE ] && rm $PXEFILE + MACFILE="${MAC^^}" + PXEFILE=$PXEDIR/01-${MACFILE:0:2}-${MACFILE:2:2}-${MACFILE:4:2}-${MACFILE:6:2}-${MACFILE:8:2}-${MACFILE:10:2} + rm -f $PXEFILE ${PXEFILE,,} if [ "$1" != "default" ]; then # Si no está definida la variable LANG, usar idioma inglés por defecto. [ -z "$LANG" -o "$LANG" == "C" ] && LANG="en" @@ -101,7 +102,7 @@ for MAC in $ETHERNET; do DATOS=$(echo ${DATOS// /} | tr 'áéíóúñÁÉÍÓÚÑ' 'aeiounAEIOUN') [[ "$DATOS" =~ (vga|video) ]] || DATOS="$DATOS vga=788" # Crear fichero PXE a partir de la plantilla con los datos obtenidos en la BD. - sed -e "s/vga=[0-9]*//g; s/INFOHOST/$DATOS/g" $TEMPLATE >$PXEFILE + sed -e "s,vga=[0-9]*,,g; s,INFOHOST,${DATOS//,/\\,},g" $TEMPLATE >$PXEFILE # Ponemos como propietario al usuario y grupo de Apache para que se pueda cambiar desde la consola web. PERMS=$(ps axho user,group,comm|awk '!/root/ && /httpd|apache/ {u=$1; g=$2} END {if (g) printf "%s:%s",u,g}') [ -n "$PERMS" ] && chown $PERMS $PXEFILE diff --git a/server/bin/setserveraddr b/server/bin/setserveraddr index 4f1bc148..5ac10c06 100755 --- a/server/bin/setserveraddr +++ b/server/bin/setserveraddr @@ -89,6 +89,7 @@ if [ -n "$SERVERIP" ]; then # - servidor o IP en URLs excepto si contienen "localhost". sed -e "s,ServidorAdm=.*,ServidorAdm=$SERVERIP," \ -e "s,IPlocal=.*,IPlocal=$SERVERIP," \ + -e "s,UrlMenu=https?://\([^/]*\)/\(.*\),UrlMenu=https://$SERVERIP/\2," \ -e '/localhost/!s,https\?://[^/]*/\(.*\),https://'$SERVERIP'/\1,' $f >$tmpfile file="${f/./-$1.}" # Si se usa otro interfaz o cambian los datos de red; ... |