#768: Incluir directorio de ogLive al generar fichero PXE.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5333 a21b9725-9963-47de-94b9-378ad31fedc9remotes/github/debian-pkg
parent
c311ef2f23
commit
ccda415f8b
|
@ -75,6 +75,7 @@ function createBootMode ($cmd, $bootopt, $hostid, $lang) {
|
|||
// Obtener información de la base de datos.
|
||||
$cmd->texto="SELECT ordenadores.nombreordenador AS hostname, ordenadores.ip AS ip,
|
||||
ordenadores.mac AS mac, ordenadores.netiface AS netiface,
|
||||
ordenadores.oglivedir AS oglivedir,
|
||||
aulas.netmask AS netmask, aulas.router AS router,
|
||||
aulas.ntp AS ntp, aulas.dns AS dns, aulas.proxy AS proxy,
|
||||
aulas.nombreaula AS grupo, repositorios.ip AS iprepo,
|
||||
|
@ -108,6 +109,7 @@ function createBootMode ($cmd, $bootopt, $hostid, $lang) {
|
|||
$server=$rs->campos["ipserveradm"];
|
||||
$vga=$rs->campos["vga"];
|
||||
$winboot=$rs->campos["winboot"];
|
||||
$oglivedir=$rs->campos["oglivedir"];
|
||||
$ogunit=$rs->campos["ogunit"];
|
||||
if ($ogunit == 0 or $rs->campos["directorio"] == null) {
|
||||
$directorio="" ;
|
||||
|
@ -137,7 +139,8 @@ function createBootMode ($cmd, $bootopt, $hostid, $lang) {
|
|||
" ogrepo=$repo" .
|
||||
" oglive=$server" .
|
||||
" oglog=$server" .
|
||||
" ogshare=$server";
|
||||
" ogshare=$server" .
|
||||
" oglivedir=$oglivedir";
|
||||
// Añadir parámetros opcionales.
|
||||
if (! empty ($ntp)) { $infohost.=" ogntp=$ntp"; }
|
||||
if (! empty ($dns)) { $infohost.=" ogdns=$dns"; }
|
||||
|
@ -165,7 +168,7 @@ function createBootMode ($cmd, $bootopt, $hostid, $lang) {
|
|||
exec ("sed -e 's|vga=...||g' -e 's|INFOHOST|$infohost|g' $pxedir/templates/$bootopt > $macfile");
|
||||
}
|
||||
else{
|
||||
exec ("sed -e 's|INFOHOST|$infohost|g' $pxedir/templates/$bootopt > $macfile");
|
||||
exec ("sed -e 's|INFOHOST|$infohost|g' -e 's|set ISODIR=.*|set ISODIR=$oglivedir|g' $pxedir/templates/$bootopt > $macfile");
|
||||
}
|
||||
exec ("chmod 777 $macfile");
|
||||
}
|
||||
|
|
|
@ -101,6 +101,7 @@ for MAC in $ETHERNET; do
|
|||
' oglive=', @repoip,
|
||||
' oglog=', (SELECT (@serverip:=ipserveradm) FROM entornos LIMIT 1),
|
||||
' ogshare=', @serverip,
|
||||
' oglivedir=', ordenadores.oglivedir,
|
||||
' winboot=', IFNULL (perfileshard.winboot, 'reboot'),
|
||||
IF (aulas.ntp='', '', CONCAT (' ogntp=', aulas.ntp)),
|
||||
IF (aulas.dns='', '', CONCAT (' ogdns=', aulas.dns)),
|
||||
|
@ -123,8 +124,10 @@ for MAC in $ETHERNET; do
|
|||
# Quitar tabuladores, sustituir acentos y dejar resolución por defecto.
|
||||
DATOS=$(echo ${DATOS// /} | tr 'áéíóúñÁÉÍÓÚÑ' 'aeiounAEIOUN')
|
||||
[[ "$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}')
|
||||
# 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; 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.
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue