Una de las cosas más interesantes de Linux es la enorme plasticidad que tiene. Es tremendamente divertido y lo que se puede hacer es imaginar cosas y hacerlas realidad. En este caso, una de las tareas que tenía en mente era aprovechar una conexión de internet que voy a dar de baja. Resulta que por razones de conectividad tengo dos conexiones de internet distintas. Hace poco las dos compañías que me brindaban el servicio se fusionaron y, gracias a que se fusionaron en gran parte, empezaron a funcionar las dos muy mal. Se cortaban al mismo tiempo y esa no es la idea de una conexión de respaldo. Por eso contraté una tercera conexión por la que me dieron un período de prueba gratuito de dos meses.
Gracias a que estoy en un período de prueba, una de las conexiones quedó sin uso y no voy a permitir eso, no! Por eso desempolvé una vieja Sahara II que tenía por ahí y empecé a pensar en qué podía aprovecharla. Esa computadora no tenía disco rígido, y no encontré ninguno que fuera IDE, así que empecé a pensar en un booteo de red. La motherboard, por una de esas cosas de la vida no soporta más de ciento veintiocho megas de ram, así que el desafío era fuerte.
Objetivo: bootear de red un Debian o un Ubuntu que corra un Torrentflux con Apache2 y PHP5 y que descargue todo en un directorio de red, posiblemente conectado por NFS.
Lo primero que hice fue buscar un booteo con Live CD. Seguí esta guía que me pareció muy buena en dos oportunidades. En la segunda y que era en mi servidor tropecé con un problema que me costó mucho resolver: cuando uno viene actualizando la versión del servidor por lo menos desde la versión Gutsy de Ubuntu, una línea especial del servidor NFS molesta mucho:
en el archivo /etc/default/nfs-kernel-server hay que mirar está línea
RPCMOUNTDOPTS="--no-nfs-version 3"
y comentarla. Esta línea le indica al servidor de nfs no usar la versión 3 para las conexiones. La única manera de desmontar una compartición de nfs sin errores desde Hardy, Intrepid o Jaunty es montarla con la opción version=2
. De hecho, estaba apareciendo ese error cada vez que reiniciaba alguna computadora que usa esa compartición pero no estaba mirando esos logs y nunca tuve que corregirlo. Pero como no necesitaba forzar la versión dos en la conexión, simplemente comenté esa línea. No recuerdo el error ahora, pero cuando pueda lo voy a activar de nuevo para copiarlo y ponerlo aquí.
Una vez que tuve un LiveCD booteado desde la red, traté de iniciar mi Sahara con ciento veintiocho megas y el X nunca llegó a terminar de iniciar. Ni siquiera cuando usé un disco de Xubuntu, no hubo caso. Posiblemente si hubiera usado una versión que tuviera un kernel 2.4 la cosa hubiera sido distinta, pero me dediqué a modificar el LiveCD para hacerlo adelgazar.
Seguí esta guía para hacerlo y me fué muy bien. Rápidamente estaba eliminando paquetes que no quería y pude hacer que la computadora iniciara correctamente. Pero la memoria no era suficiente. Apenas arrancaba el Apache empezaba a quedarse sin memoria. Posiblemente podría haber empezado a probar con algún servidor más modesto, pero el Torrentflux usaba esos paquetes por defecto y me puse a pensar en cómo hacerme de más memoria.
Tenía un pendrive de 4Gb disponible y lo particioné para tener por un lado los datos del servidor MySQL (para que no se perdieran en cada booteo) y un poco de memoria swap para extender los apenas 30Mb que tenía. Una vez que inicié la computadora, el sistema tomó automáticamente ese espacio para hacer swap y los problemas de memoria se fueron.
Tenía entonces una linda computadora que iniciaba por la red y me dejaba conectar y aprovechar mi tercera conexión de internet. Claro que el procesador que tiene es tan horriblemente lento que terminé generando un nuevo disco para transformar esa máquina en router y levanté una virtual con el mismo disco que había armado y que se conecta a este router para hacer las bajadas. Todo funciona de mil maravillas ahora.
Después de todas estas cosas encontré en Myrinix, no lo probé, pero es un servidor que bootea en un LiveCD. Aquí está el vínculo. Parece muy interesante. Está en un formato que no conozco, así que lo bajé y todavía no lo usé, debe ser un ISO de todos modos.