Script rpkgsync para servidores de aula | Algo de Linux

miércoles, 12 de marzo de 2014

Script rpkgsync para servidores de aula

He publicado un nuevo script en mi github al que he llamado rpkgsync. Tenía ganas de escribirlo hace tiempo, pero no encontraba el momento, así que a ratos, entre ayer y hoy lo he terminado de preparar. En principio, es una primera versión que no tiene errores de escritura de código, pero que tendré que probar para ver si cumple todas mis espectativas.

Como ya he comentado en alguna ocasión, he comprobado que cuando 30 portátiles de alumno se conectan a la red vía wifi, en muchas ocasiones no pueden navegar por internet. Y uno de los problemas de que no puedan hacerlo es que muchas veces el sistema operativo de los mismos está actualizando paquetes en segundo plano de forma transparente para el usuario, sobre todo cuando se ejecuta pkgsync. Pienso que si estuvieran conectados vía ethernet, no habría tanto problema, pero la red wifi, en la práctica, no da tanto ancho de banda como el cable; incluso aunque utilicéis un punto de acceso de 300 Mbps porque en muchos casos no llegaréis ni a los 65 Mbps.

Si todos los portátiles se actualizaran con regularidad y una cierta frecuencia, estoy seguro de que tampoco habría problema, pero es algo que no podemos garantizar. 

Por lo tanto, si partimos determinando cuál es nuestra situación real:
  • Los portátiles no se encuentran permanentemente conectados a la red.
  • Se actualizan sólo cuando se conectan a la red.
  • Cuando se conectan a la red, lo hacen vía wifi.
  • En ocasiones, se usan todos a la vez, y si hay muchas actualizaciones de software por realizar, los usuarios no pueden navegar. El ancho de banda lo está consumiendo el sistema de actualización de paquetes de todos los estos portátiles.
  • Algunos portátiles se usan mucho menos que otros. Se encienden poco, y, por lo tanto, cuando se enciendan, probablemente van a tener que realizar muchas actualizaciones de software. 

Teniendo en cuenta todo ésto, mi opinión personal (y no quiero decir que sea lo que deba hacerse porque yo lo diga) es que lo mejor sería dejar desactivado pkgsync y realizar instalaciones puntuales de software tan sólo cuando sea necesario vía puppet, dejando pkgsync para lanzarlo de forma expresa por parte del administrador cuando se crea conveniente.

Para tratar de solucionar el problema, la idea sería desactivar la ejecución de pkgsync en portátiles y colocar el script rpkgsync en el servidor de aula, de tal manera que ejecutáramos este script en el servidor de aula para que este lanzase pkgsync en los portátiles que detecte encendidos de una forma no concurrente.

Como ya he comentado ésta seguramente sea sólo una primera versión porque podría ser necesario lanzar las ejecuciones de pkgsync en diferentes portátiles de una forma "más espaciada", salvo que el trabajo que se esté realizando en ese momento sea solamente actualizarlos sin importar que quede ancho de banda disponible para navegar, por ejemplo.

Publicado por primera vez en http://enavas.blogspot.com.es