Index: tareas_puppet/servidores_aula/actualiza_bios_terminales/manifests/init.pp
===================================================================
--- tareas_puppet/servidores_aula/actualiza_bios_terminales/manifests/init.pp	(nonexistent)
+++ tareas_puppet/servidores_aula/actualiza_bios_terminales/manifests/init.pp	(revision 159)
@@ -0,0 +1,30 @@
+
+class actualiza_bios_terminales {
+
+   file {"/opt/ltsp/i386/root/cmospwd":
+        owner=>root, group=>root, mode=>755,
+        source=>"puppet:///actualiza_bios_terminales/cmospwd",
+        notify => Exec["regenera-imagen-para-bios"],
+        }
+
+   file {"/opt/ltsp/i386/root/cmosbackup":
+        owner=>root, group=>root, mode=>644,
+        source=>"puppet:///actualiza_bios_terminales/cmosbackup",
+        notify => Exec["regenera-imagen-para-bios"],
+        }
+
+   file {"/opt/ltsp/i386/etc/rc2.d/S99updcmos.sh":
+        owner=>root, group=>root, mode=>755,
+        source=>"puppet:///actualiza_bios_terminales/S99updcmos.sh",
+        notify => Exec["regenera-imagen-para-bios"],
+        }
+
+   exec {"regenera-imagen-para-bios":
+        command => "/usr/sbin/ltsp-update-image --arch i386",
+	subscribe => File["/opt/ltsp/i386/etc/rc2.d/S99updcmos.sh"],
+	refreshonly => true
+       }
+
+}
+
+
Index: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/cmospwd
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/cmospwd
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/cmosbackup
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/cmosbackup
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/despierta_alumnos.sh
===================================================================
--- tareas_puppet/servidores_aula/actualiza_bios_terminales/files/despierta_alumnos.sh	(nonexistent)
+++ tareas_puppet/servidores_aula/actualiza_bios_terminales/files/despierta_alumnos.sh	(revision 159)
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+if [ $# -ne 1 ]; then
+   echo "Uso: $0 aula(AXX)"
+   exit
+fi
+
+for alumno in $(ldapsearch -xLLL -h ldap -b cn=group1,cn=THINCLIENTS,cn=DHCP\ Config,dc=instituto,dc=extremadura,dc=es "cn" | grep "cn: $1-O"  | cut -f2 -d" ") ; do
+  mac=$(ldapsearch -xLLL -h ldap -b cn=$alumno,cn=group1,cn=THINCLIENTS,cn=DHCP\ Config,dc=instituto,dc=extremadura,dc=es "dhcpHWAddress" | grep ethernet | grep -v '00:00:00:00:00:00' | cut -f3 -d " ")
+  echo "Despertando $alumno con mac $mac"
+
+  wakeonlan $mac
+  etherwake $mac
+
+done
+

Property changes on: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/despierta_alumnos.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/S99updcmos.sh
===================================================================
--- tareas_puppet/servidores_aula/actualiza_bios_terminales/files/S99updcmos.sh	(nonexistent)
+++ tareas_puppet/servidores_aula/actualiza_bios_terminales/files/S99updcmos.sh	(revision 159)
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+#Script actualizar la configuración CMOS de los terminales desde una copia de seguridad nuestra.
+
+echo 2 | /root/cmospwd /d /r /root/cmosbackup
+

Property changes on: tareas_puppet/servidores_aula/actualiza_bios_terminales/files/S99updcmos.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tareas_puppet/servidores_aula/actualiza_bios_terminales/leeme.txt
===================================================================
--- tareas_puppet/servidores_aula/actualiza_bios_terminales/leeme.txt	(nonexistent)
+++ tareas_puppet/servidores_aula/actualiza_bios_terminales/leeme.txt	(revision 159)
@@ -0,0 +1,148 @@
+ACTUALIZACION BIOS
+==================
+
+Tarea puppet que actualiza la configuración de la BIOS de los ordenadores de los alumnos (ojo, no
+actualiza la version de la BIOS, sino su configuracion). Util para poner la misma configuracon de
+BIOS (orden de arranque, contraseña, configuracion USB/LPT1, etc)  en todos los equipos sin tener 
+que ir entrando uno a uno y cambiarla a mano.
+
+AVISOS:
+=======
+
+-Este paquete está preparado con la BIOS de los Fujitsu P300 y no deberia funcionar en equipos
+distintos. Para prepararla otros equipos, leer bien este documento HASTA EL FINAL, especialmente
+n el apartado de como generar una copia de seguridad de una BIOS para nuestro caso particular, 
+antes de hacer nada.
+
+-Este paquete está formado por 2 tareas puppet:
+
+      actualiza_bios_terminales: que hace modificaciones en la imagen para actualizar la bios en
+              el arranque de los terminales. 
+
+      quita_actualizacion_bios_terminales: quita las modificaciones y deja la imagen como estaba,
+            despues de haber actualizado la BIOS. 
+
+Hay dos tareas por un motivo: si se pone solo la primera el script de actualizacion de la BIOS 
+queda en la imagen de los clientes de aula y se ejecutará cada vez que se arranquen estos. En
+principio esto no es malo, pero tampoco queda bien actualizar la BIOS en cada arranque, simplemente
+es suficiente con actualizarla una vez. Por ese motivo existe la tarea contraria, que desactiva esta
+actualización.
+
+No hemos encontrado la manera de poder hacerlo todo en una sola tarea puppet.
+
+USO:
+====
+
+1) Descomprimir el fichero en /etc/puppet/modules del servidor principal, creará dos carpetas, una
+para cada terea.
+
+2) Es conveniente ir actualizando aula  a aula. Supongamos que queremos actualizar la BIOS en el aula "a02".
+
+   -Añadimos a /etc/puppet/manifests/classes/clase-especifica.pp y añades lo siguiente dentro del fichero:
+
+		node "a02-pro" inherits default {
+			include "actualiza_bios_terminales"
+		#      include "quita_actualizacion_bios_terminales"
+		}
+
+   -Nos vamos fisicamente al aula y forzamos  con puppetd -t a que aplique la regla, sin esperar a que 
+    lo haga automaticamente.
+
+   -Cuando haya acabado, abrimos controlaula/aulalinex y encendemos todos los terminales. Es muy 
+    importante que se enciendan todos por completo hasta la pantalla de login, ya que si alguno no
+    arranca su BIOS no se actualizará.
+
+   -Cuando veamos que todos los terminales tienen la pantalla de login de Lenny, los apagamos.
+
+   -Nos conectamos al servidor del centro y de nuevo editamos clase-especifica, descomentando el segundo 
+   include y comentando el primero:
+
+		node "a02-pro" inherits default {
+		#        include "actualiza_bios_terminales"
+		      include "quita_actualizacion_bios_terminales"
+		}
+
+   -Ahora forzamos de nuevo un puppetd -t en el servidor de aula  para asegurarnos  en el momento 
+   de que se quita la actualización de la BIOS de la imagen de los clientes. Tampoco es necesario 
+   hacerlo en ese momento, podemos dejar que puppet lo haga cuando toque, pero yo prefiero hacerlo 
+   cuanto antes y ya no me preocupo mas.
+
+   -Por último, cuando se haya ejecutado la regla correctamente, editamos de nuevo clase-especifica 
+    y la quedamos (tambien podemos borrar los include):
+
+		node "a02-pro" inherits default {
+		#        include "actualiza_bios_terminales"
+		#      include "quita_actualizacion_bios_terminales"
+		}
+
+
+    -Y ya está. Si encendemos un terminal cualquiera y entramos en su BIOS con F2 (o la tecla que
+     corresponda) veremos que ya tiene la BIOS tal como hicimos la copia.
+
+3) Repetir estos pasos para todas las aulas cuando vayan quedando libres.
+
+4) Tampoco es necesario estar fisicamente en las aulas si todo va bien. Podemos conectarnos con ssh -X
+   al servidor de aula, hacer las actualización por puppet, abrir el aulalinex remotamente, encender 
+   los equipos y si se encienden todos podemos estar seguros de que se les ha actualizado la BIOS. 
+   Solo tendriamos que ir al aula fisicamente si no se ha llegado a encender algún equipo concreto, 
+   para ver que le pasa y encenderlo tu a mano.
+
+IMPORTANTE: COMO GENERAR UNA COPIA DE LA BIOS A NUESTRA MEDIDA.
+===============================================================
+
+Leer esto si queremos tener una versión personalizada de la BIOS, hecha a nuestro gusto, o bien los
+equipos de nuestro centro no son Fujitsu P300 y por tanto la copia que se adjunta a la tarea no debería
+funcionar. Los ficheros clave son dos (están en /etc/puppet/modules/actualiza_bios_terminales/files):
+
+    * cmospwd: este es el ejecutable que permite clonar y restaurar la configuración de la BIOS. 
+      Está sacado del CD de rescate de los servidores de aula, ya que es el que usa backharddi 
+      para machacar la BIOS de los servidores al restaurar la imagen.
+    * cmosbackup: este fichero es el que almacena la copia de la configuración de la BIOS, siempre
+      tiene 384 bytes (o al menos eso me parece a mi).
+
+Los pasos son:
+
+-Entrar en la BIOS del equipo y modificarla a nuestro gusto (orden de arranque, clave de la BIOS,
+activar/desactivar USB, LPT1, etc).
+
+-Arrancar un Linux en el equipo y copiar el fichero cmospwd a la carpeta /root de dicho Linux. Podemos
+copiarlo desde una unidad de red compartida por nfs, por scp, con wget.
+
+-Como usuario root hacemos:
+
+                  ./cmospwd  /d  /w  cmosbackup
+
+y hará la copia de la configuración BIOS en el fichero cmosbackup (podemos poner otro nombre, pero la 
+tarea puppet esta configurada para usar ese nombre en concreto).
+
+-Ese fichero cmosbackup lo metemos en la tarea puppet sobreescribiendo el que hay en 
+
+    /etc/puppet/modules/actualiza_bios_terminales/files 
+
+del servidor nfs (lo mas comodo es copiarlo por scp), y ya podremos usar la tarea puppet con nuestra
+flamante BIOS.
+
+-Si quermos restaurar la configuración a mano en un equipo suelto de por ahi (por ejemplo, un workstation),
+copiamos al equipo los ficheros cmospwd y cmosbackup, abrimos un terminal y como root hacemos:
+
+                  ./cmospwd  /d  /r  cmosbackup
+
+Esto abre un menú con tres opciones: 
+
+	1) Restaurar la configuracion
+	2) Restaurar la configuracion manteniendo la fecha y hora
+	3) No hacer nada, 
+
+Cogemos la segunda y ya está.
+
+Si nos queremos ahorrar el paso  de elegir opción podemos hacer:
+
+	echo 2 | /root/cmospwd /d /r /root/cmosbackup
+
+=====================================================================================================================
+
+Alfonso Pastor
+IES Virgen de Guadalupe. 2010-11.
+
+
+
Index: tareas_puppet/servidores_aula/actualiza_bios_terminales.tgz
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tareas_puppet/servidores_aula/actualiza_bios_terminales.tgz
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tareas_puppet/servidores_aula/quita_actualizacion_bios_terminales/leeme.txt
===================================================================
--- tareas_puppet/servidores_aula/quita_actualizacion_bios_terminales/leeme.txt	(nonexistent)
+++ tareas_puppet/servidores_aula/quita_actualizacion_bios_terminales/leeme.txt	(revision 159)
@@ -0,0 +1,148 @@
+ACTUALIZACION BIOS
+==================
+
+Tarea puppet que actualiza la configuración de la BIOS de los ordenadores de los alumnos (ojo, no
+actualiza la version de la BIOS, sino su configuracion). Util para poner la misma configuracon de
+BIOS (orden de arranque, contraseña, configuracion USB/LPT1, etc)  en todos los equipos sin tener 
+que ir entrando uno a uno y cambiarla a mano.
+
+AVISOS:
+=======
+
+-Este paquete está preparado con la BIOS de los Fujitsu P300 y no deberia funcionar en equipos
+distintos. Para prepararla otros equipos, leer bien este documento HASTA EL FINAL, especialmente
+n el apartado de como generar una copia de seguridad de una BIOS para nuestro caso particular, 
+antes de hacer nada.
+
+-Este paquete está formado por 2 tareas puppet:
+
+      actualiza_bios_terminales: que hace modificaciones en la imagen para actualizar la bios en
+              el arranque de los terminales. 
+
+      quita_actualizacion_bios_terminales: quita las modificaciones y deja la imagen como estaba,
+            despues de haber actualizado la BIOS. 
+
+Hay dos tareas por un motivo: si se pone solo la primera el script de actualizacion de la BIOS 
+queda en la imagen de los clientes de aula y se ejecutará cada vez que se arranquen estos. En
+principio esto no es malo, pero tampoco queda bien actualizar la BIOS en cada arranque, simplemente
+es suficiente con actualizarla una vez. Por ese motivo existe la tarea contraria, que desactiva esta
+actualización.
+
+No hemos encontrado la manera de poder hacerlo todo en una sola tarea puppet.
+
+USO:
+====
+
+1) Descomprimir el fichero en /etc/puppet/modules del servidor principal, creará dos carpetas, una
+para cada terea.
+
+2) Es conveniente ir actualizando aula  a aula. Supongamos que queremos actualizar la BIOS en el aula "a02".
+
+   -Añadimos a /etc/puppet/manifests/classes/clase-especifica.pp y añades lo siguiente dentro del fichero:
+
+		node "a02-pro" inherits default {
+			include "actualiza_bios_terminales"
+		#      include "quita_actualizacion_bios_terminales"
+		}
+
+   -Nos vamos fisicamente al aula y forzamos  con puppetd -t a que aplique la regla, sin esperar a que 
+    lo haga automaticamente.
+
+   -Cuando haya acabado, abrimos controlaula/aulalinex y encendemos todos los terminales. Es muy 
+    importante que se enciendan todos por completo hasta la pantalla de login, ya que si alguno no
+    arranca su BIOS no se actualizará.
+
+   -Cuando veamos que todos los terminales tienen la pantalla de login de Lenny, los apagamos.
+
+   -Nos conectamos al servidor del centro y de nuevo editamos clase-especifica, descomentando el segundo 
+   include y comentando el primero:
+
+		node "a02-pro" inherits default {
+		#        include "actualiza_bios_terminales"
+		      include "quita_actualizacion_bios_terminales"
+		}
+
+   -Ahora forzamos de nuevo un puppetd -t en el servidor de aula  para asegurarnos  en el momento 
+   de que se quita la actualización de la BIOS de la imagen de los clientes. Tampoco es necesario 
+   hacerlo en ese momento, podemos dejar que puppet lo haga cuando toque, pero yo prefiero hacerlo 
+   cuanto antes y ya no me preocupo mas.
+
+   -Por último, cuando se haya ejecutado la regla correctamente, editamos de nuevo clase-especifica 
+    y la quedamos (tambien podemos borrar los include):
+
+		node "a02-pro" inherits default {
+		#        include "actualiza_bios_terminales"
+		#      include "quita_actualizacion_bios_terminales"
+		}
+
+
+    -Y ya está. Si encendemos un terminal cualquiera y entramos en su BIOS con F2 (o la tecla que
+     corresponda) veremos que ya tiene la BIOS tal como hicimos la copia.
+
+3) Repetir estos pasos para todas las aulas cuando vayan quedando libres.
+
+4) Tampoco es necesario estar fisicamente en las aulas si todo va bien. Podemos conectarnos con ssh -X
+   al servidor de aula, hacer las actualización por puppet, abrir el aulalinex remotamente, encender 
+   los equipos y si se encienden todos podemos estar seguros de que se les ha actualizado la BIOS. 
+   Solo tendriamos que ir al aula fisicamente si no se ha llegado a encender algún equipo concreto, 
+   para ver que le pasa y encenderlo tu a mano.
+
+IMPORTANTE: COMO GENERAR UNA COPIA DE LA BIOS A NUESTRA MEDIDA.
+===============================================================
+
+Leer esto si queremos tener una versión personalizada de la BIOS, hecha a nuestro gusto, o bien los
+equipos de nuestro centro no son Fujitsu P300 y por tanto la copia que se adjunta a la tarea no debería
+funcionar. Los ficheros clave son dos (están en /etc/puppet/modules/actualiza_bios_terminales/files):
+
+    * cmospwd: este es el ejecutable que permite clonar y restaurar la configuración de la BIOS. 
+      Está sacado del CD de rescate de los servidores de aula, ya que es el que usa backharddi 
+      para machacar la BIOS de los servidores al restaurar la imagen.
+    * cmosbackup: este fichero es el que almacena la copia de la configuración de la BIOS, siempre
+      tiene 384 bytes (o al menos eso me parece a mi).
+
+Los pasos son:
+
+-Entrar en la BIOS del equipo y modificarla a nuestro gusto (orden de arranque, clave de la BIOS,
+activar/desactivar USB, LPT1, etc).
+
+-Arrancar un Linux en el equipo y copiar el fichero cmospwd a la carpeta /root de dicho Linux. Podemos
+copiarlo desde una unidad de red compartida por nfs, por scp, con wget.
+
+-Como usuario root hacemos:
+
+                  ./cmospwd  /d  /w  cmosbackup
+
+y hará la copia de la configuración BIOS en el fichero cmosbackup (podemos poner otro nombre, pero la 
+tarea puppet esta configurada para usar ese nombre en concreto).
+
+-Ese fichero cmosbackup lo metemos en la tarea puppet sobreescribiendo el que hay en 
+
+    /etc/puppet/modules/actualiza_bios_terminales/files 
+
+del servidor nfs (lo mas comodo es copiarlo por scp), y ya podremos usar la tarea puppet con nuestra
+flamante BIOS.
+
+-Si quermos restaurar la configuración a mano en un equipo suelto de por ahi (por ejemplo, un workstation),
+copiamos al equipo los ficheros cmospwd y cmosbackup, abrimos un terminal y como root hacemos:
+
+                  ./cmospwd  /d  /r  cmosbackup
+
+Esto abre un menú con tres opciones: 
+
+	1) Restaurar la configuracion
+	2) Restaurar la configuracion manteniendo la fecha y hora
+	3) No hacer nada, 
+
+Cogemos la segunda y ya está.
+
+Si nos queremos ahorrar el paso  de elegir opción podemos hacer:
+
+	echo 2 | /root/cmospwd /d /r /root/cmosbackup
+
+=====================================================================================================================
+
+Alfonso Pastor
+IES Virgen de Guadalupe. 2010-11.
+
+
+
Index: tareas_puppet/servidores_aula/quita_actualizacion_bios_terminales/manifests/init.pp
===================================================================
--- tareas_puppet/servidores_aula/quita_actualizacion_bios_terminales/manifests/init.pp	(nonexistent)
+++ tareas_puppet/servidores_aula/quita_actualizacion_bios_terminales/manifests/init.pp	(revision 159)
@@ -0,0 +1,9 @@
+
+class quita_actualizacion_bios_terminales {
+
+   exec { "/bin/rm /opt/ltsp/i386/etc/rc2.d/S99updcmos.sh; /usr/sbin/ltsp-update-image --arch i386" :
+   }
+
+}
+
+
