wiki:EjemploPracticos

Version 13 (modified by irina, 7 years ago) (diff)

--

TOC(heading=Índice)?

Ejemplos prácticos

Ejemplos de menú personalizado

  • Este es un ejemplo de un menú personalizado en html donde seleccionar el arranque de un cliente con Windows 7 y Linux.

Los ejemplos son de la Universidad Autónoma de Barcelona así que podréis encontrar algo de texto en catalán. En el zip encontraréis dos menús, uno para resolución 800x600 y otro para resolución y 1024x768, así como una carpeta con las imágenes usadas.

Descarga

Activación licencia de productos Microsoft: Windows 7 y Office 2010 y superior

  • Antes de usarlo hemos de editar las variables que están al inicio del script, para que correspondan a nuestro caso. Para usarlo tenemos varias opciones:
    1. Sobre un ámbito (equipo, grupo, etc...), botón derecho -> Comando -> ejecutar script -> y pegamos en el cuadro de texto "Código del script" el script completo. (Podemos guardarlo como procedimiento o tarea para usarlo posteriormente)
    2. Creamos en el servidor un archivo con el contenido del script en /opt/opengnsys/client/scripts/ (p.ej. podemos llamarlo: ActivacionMicrosoft) y después lo usamos con en el caso 1, pero sólo pegamos en el cuadro de texto "Código del script" el nombre del archivo que hemos creado en el servidor (ActivacionMicrosoft en este ejemplo). Igual que en el caso 1 lo podemos guardar como procedimiento.

#/bin/bash

################ Bloque de variables ####################
DISK=1
PART=1
ADMIN=administrador
PASSADMIN=unapassword
USER=alumnos
PASSUSER=
POSTCONF=postconf.cmd
################ Fin bloque de variables ################

## Indicación del proceso (variable $POSTCONF), usuario que lo ejecutará ($ADMIN) y configuración del windows para que arranque con autologin tras la postconfiguración (1 "$USER" "$PASSUSER")
ogInstallMiniSetup $DISK $PART $POSTCONF $ADMIN $PASSADMIN 1 "$USER" "$PASSUSER"

### Reactivación Windows 7
ogAddCmd $DISK $PART $POSTCONF "if exist \"%windir%\system32\slmgr.vbs\" FOR /F \"tokens=5\" %%a in ('cscript \"%windir%\system32\slmgr.vbs\" -xpr') do (set _act=%%a)"
ogAddCmd $DISK $PART $POSTCONF "if \"%_act%\" neq \"activated.\" ("
ogAddCmd $DISK $PART $POSTCONF "	cscript \"%windir%\system32\slmgr.vbs\" -ato"
ogAddCmd $DISK $PART $POSTCONF ")"

### Reactivación versiones x86 y x64 de office, visio y project: 2010 y/o 2013
ogAddCmd $DISK $PART $POSTCONF "if exist \"%PROGRAMFILES%\Microsoft Office\Office14\OSPP.VBS\" set _offver2010=%PROGRAMFILES%"
ogAddCmd $DISK $PART $POSTCONF "if exist \"%PROGRAMFILES% (x86)\Microsoft Office\Office14\OSPP.VBS\" set _offver2010=%PROGRAMFILES% (x86)"
ogAddCmd $DISK $PART $POSTCONF "if exist \"%PROGRAMFILES%\Microsoft Office\Office15\OSPP.VBS\" set _offver2013=%PROGRAMFILES%"
ogAddCmd $DISK $PART $POSTCONF "if exist \"%PROGRAMFILES% (x86)\Microsoft Office\Office15\OSPP.VBS\" set _offver2013=%PROGRAMFILES% (x86)"

# arrancamos el servicio "Office Software Protection Platform"
ogAddCmd $DISK $PART $POSTCONF "sc start osppsvc"
# pausa de 5 segundos para asegurarnos que ha arrancado
ogAddCmd $DISK $PART $POSTCONF "ping -n 5 localhost >NUL"

# y reactivamos
ogAddCmd $DISK $PART $POSTCONF "if defined _offver2010 ("
ogAddCmd $DISK $PART $POSTCONF "	cscript \"%_offver2010%\Microsoft Office\Office14\OSPP.VBS\" /act"
ogAddCmd $DISK $PART $POSTCONF ")"
ogAddCmd $DISK $PART $POSTCONF "if defined _offver2013 ("
ogAddCmd $DISK $PART $POSTCONF "	cscript \"%_offver2013%\Microsoft Office\Office15\OSPP.VBS\" /act"
ogAddCmd $DISK $PART $POSTCONF ")"

### reiniciamos el equipo
ogAddCmd $DISK $PART $POSTCONF "shutdown /r"


Varios sistemas Windows en un equipo: ocultar particiones.

Cuando tenemos instalados varios sistemas Windows en un equipo, al arrancar uno de ellos necesitamos que las otras particiones estén ocultas. Para ello podemos modificar el script de inicio de sesión /opt/opengnsys/client/scripts/bootOs incluyendo el siguiente código:

case "$OSTYPE" in
    Windows)
        # INICIO CAMBIO #############################################
        echo "[30] Mostrar y activar particion de Windows $PART."
        [ $(ogGetPartitionType $1 $2) == "HNTFS" ] && ogUnhidePartition $1 $2
        # Mostrar la partición NTFS del sistema y ocultamos las demas.
        for (( i=1; i<=$(ogGetPartitionsNumber $1); i++ )); do
                if [ $i == $2 ]; then
                    [ $(ogGetPartitionType $1 $i) == "HNTFS" ] && ogUnhidePartition $1 $2
                    #ogSetPartitionActive $1 $2
                else
                    [ "$(ogGetPartitionType $1 $i)" == NTFS ] && ogHidePartition $1 $i
                fi
        done
        # FIN CAMBIO #############################################
        ...

Este código también ocultaría una partición NTFS que sólo contuviera de datos. En este caso, en vez de detectar el tipo de partición, habría que ver si está instalado el sistema operativo y tardaríamos más tiempo.

Transferencia de UNICAST-DIRECT muy lenta.

Al restaurar una imagen la velocidad de transferencia va bajando de velocidad y no llega a completarse. El equipo se queda totalmente bloqueado.

Se soluciona desactivando IPv6. En el caso de ubuntu incluimos en /etc/sysctl.conf la línea:

net.ipv6.conf.all.disable_ipv6=1

Reiniciamos el servidor.

Para comprobar que ipv6 está desactivado:

lsmod | grep ipv6

ip a | grep inet6

Solución a problemas con la transferencia multicast.

Para la versión 1.0.4a y anteriores.

Depende de la configuración de la red y los equipos de comunicaciones que se utilicen pueden surgir problemas con la transferencia multicast.

En nuestro caso la CPU de las equipos de comunicación de pone al 100%. Para evitarlo basta poner el TTL (time of Life) mayor que 1, se recomienda ponerlo a 16, que será el valor por defecto que se incluya en la versión 1.0.5.

Ficheros que hay que modificar el OpenGnSys:

/opt/opengnsys/client/lib/engine/bin/Protocol.lib

[...]
SYNTAXSERVER="udp-sender $MBUFFER --nokbd --portbase  $PORTBASE --$METHOD --mcast-data-address $ADDRESS 
--fec $CERROR --max-bitrate $BITRATE --ttl 16 --min-clients $NCLIENTS --max-wait $MAXTIME --autostart $MAXTIME 
--log /tmp/mcast.log"/
[...]

/opt/opengnsys/bin/sendFileMcast

[...]
$OGBIN/udp-sender $MBUFFER --nokbd --retries-until-drop 65 --portbase $PORTBASE --$METHOD 
--mcast-data-address $ADDRESS --fec $CERROR --max-bitrate $BITRATE --ttl 16 --min-clients $NCLIENTS 
--max-wait $MAXTIME --file "$FICHIMG"/
[...]

Problemas al iniciar windows después de haber modificado otra partición

Cuando se realiza un particionado sin modificar la partición de windows ni ninguna de las anteriores no se puede iniciar la sesión. Los datos están bien y podemos verlos si listamos el contenido de la partición, pero al iniciar la sesión me da un mensaje de error diciendo que no reconoce el dispositivo de arranque.

Basta configurar de nuevo el sistema operativo, desde línea de comandos en el cliente o desde la consola con "ejecutar script" hay que ejecutar:

configureOs num_disk num_part

No puedo arrancar el cliente en opengnsys.

Si los sistemas de ficheros de alguna partición del disco está muy deteriorado el cliente de opengnsys en modo usuario no arranca, hemos de pasarlo a modo administración y restaurar la partición. Suele ocurrir cuando una restauración se corta a mitad por algún motivo.

Esto se debe que el primer paso para arrancar el cliente en modo usuario busca dentro de las particiones por si existe una marca para iniciar windows, en algunos casos cuando la partición está corrupta se queda bloqueado. El cliente en modo administración nos permitirá arrancar en este caso pero no podremos iniciar sesión en windows.

Fallo en el disco duro del cliente

En caso de que el disco duro del cliente esté dañado, el proceso de inicio se relentiza y la pantalla del equipo muestra un mensaje de este tipo durante la carga de datos:

/opt/opengnsys/interfaceAdm/getConfiguration: line 1:  727 killed
     timeout -k -5s -s KILL -3s $(which parted) "$@"

Este mensaje puede mostrarse varias veces antes de cargar el Browser, el cual solo deberá mostrar la opción de apagado si se usa el menú por defecto.

La solución a este problema es sustituir el disco duro del equipo.

Desactivar cliente de Opengnsys en sistema operativo

En caso de que tengáis equipos restaurados y simplemente queráis deshabilitar el servicio del agente (sin instalar una nuevo), podéis usar estos script desde la consola con "ejecutar script" o desde línea de comando:

Windows.

Propuesto por francesc en el foro.

Lo que hace es simplemente poner a 4 (deshabilitado) el estado del servicio "Cliente OpengnSys".

chntpw /mnt/sda1/Windows/System32/config/SYSTEM << EOT &> /dev/null
cd ControlSet001\services\Cliente Opengnsys
ed Start
4
q
y
EOT

Linux

Comentamos el inicio del servicio en /etc/rc.local

cd /mnt/sda6/etc
sed s/'\/usr\/sbin\/ogAdmLnxClient'/'\#\/usr\/sbin\/ogAdmLnxClient'/g rc.local

Si queremos que no se vuelva a instalar tras las restauración de los clientes en /opt/opengnsys/client/scripts/configureOs comentamos las líneas:

Windows)
    ....
    #ogInstallMiniSetup $1 $2 postconf.cmd
    #ogInstallWindowsClient $1 $2 postconf.cmd
    ;;
Linux)
    ...
    #ogInstallLinuxClient $1 $2
}}
        

Attachments (3)

Download all attachments as: .zip