diff options
author | ramon <ramongomez@us.es> | 2018-02-19 09:49:23 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2018-02-19 09:49:23 +0000 |
commit | 2211576c4ff097e9a8d9e265dbded9775bb99482 (patch) | |
tree | 14afe7cf30197fa70b169ec695bf8c2fdcb5371b | |
parent | cc8a098ed9f9d3fd330c1f486f99f391b81228d8 (diff) |
#768 #828: Corregir erratas al crear plantillas PXE, evitando duplicado de directorio de ogLive y cadena {{{NULL}}} si no existe perfil de hardware.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5599 a21b9725-9963-47de-94b9-378ad31fedc9
-rw-r--r-- | admin/WebConsole/includes/tftputils.php | 3 | ||||
-rwxr-xr-x | server/bin/setclientmode | 14 |
2 files changed, 10 insertions, 7 deletions
diff --git a/admin/WebConsole/includes/tftputils.php b/admin/WebConsole/includes/tftputils.php index b1087d70..55f7a871 100644 --- a/admin/WebConsole/includes/tftputils.php +++ b/admin/WebConsole/includes/tftputils.php @@ -145,8 +145,7 @@ function createBootMode ($cmd, $bootopt, $hostid, $lang) { " ogrepo=$repo" . " oglive=$server" . " oglog=$server" . - " ogshare=$server" . - " oglivedir=$oglivedir"; + " ogshare=$server"; // Añadir parámetros opcionales. if (! empty ($ntp)) { $infohost.=" ogntp=$ntp"; } if (! empty ($dns)) { $infohost.=" ogdns=$dns"; } diff --git a/server/bin/setclientmode b/server/bin/setclientmode index 7138d8f9..53ccf26e 100755 --- a/server/bin/setclientmode +++ b/server/bin/setclientmode @@ -102,11 +102,11 @@ for MAC in $ETHERNET; do ' oglog=', (SELECT (@serverip:=ipserveradm) FROM entornos LIMIT 1), ' ogshare=', @serverip, ' oglivedir=', ordenadores.oglivedir, - IF(perfileshard.descripcion='', '', CONCAT(' hardprofile=', REPLACE(TRIM(perfileshard.descripcion), ' ', '_'))), - IF(aulas.ntp='', '', CONCAT(' ogntp=', aulas.ntp)), - IF(aulas.dns='', '', CONCAT(' ogdns=', aulas.dns)), - IF(aulas.proxy='', '', CONCAT(' ogproxy=', aulas.proxy)), - IF(entidades.ogunit=1 AND NOT centros.directorio='', CONCAT(' ogunit=', centros.directorio),''), + IF(perfileshard.descripcion<>'', CONCAT(' hardprofile=', REPLACE(TRIM(perfileshard.descripcion), ' ', '_')), ''), + IF(aulas.ntp<>'', CONCAT(' ogntp=', aulas.ntp), ''), + IF(aulas.dns<>'', CONCAT(' ogdns=', aulas.dns), ''), + IF(aulas.proxy<>'', CONCAT(' ogproxy=', aulas.proxy), ''), + IF(entidades.ogunit=1 AND NOT centros.directorio='', CONCAT(' ogunit=', centros.directorio), ''), CASE WHEN menus.resolucion IS NULL THEN '' WHEN menus.resolucion <= '999' THEN CONCAT(' vga=', menus.resolucion) @@ -126,6 +126,10 @@ for MAC in $ETHERNET; do [[ "$DATOS" =~ (vga|video) ]] || DATOS="$DATOS vga=788" # Obtener directorio ogLive a partir de los datos. OGLIVEDIR=$(echo "$DATOS" | awk -F= 'BEGIN {RS=" "} $1=="oglivedir" {print $2}') + # Comprobar si existe "oglivedir" en la plantilla para evitar duplicados. + if grep -q "oglivedir=" $TEMPLATE 2>/dev/null; then + DATOS="${DATOS/oglivedir=$OGLIVEDIR/}" + fi # 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; s,set ISODIR=.*,set ISODIR=$OGLIVEDIR,g" $TEMPLATE >$PXEFILE # Ponemos como propietario al usuario y grupo de Apache para que se pueda cambiar desde la consola web. |