summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2017-01-11 13:18:35 +0000
committerramon <ramongomez@us.es>2017-01-11 13:18:35 +0000
commitfac0b87ec2e4ebd6f78788fc632a63d8c95da69b (patch)
tree4f0fd457020990d97c791c41f8615f7dd4ecfeab /server
parentc21abbcd5a7fa6f00957f9bd8cf44257f7f08ad5 (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-xserver/bin/comparedhcpopengnsys2
-rwxr-xr-xserver/bin/installoglive25
-rwxr-xr-xserver/bin/setclientmode7
-rwxr-xr-xserver/bin/setserveraddr1
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; ...