A vueltas con las mini-distros
Seguro que mas de uno/a se ha visto en la necesidad ( o simplemente por gusto ) de usar una mini-distro de las que corren en RAM y solo con un floppy es suficiente, bueno paso a contaros una historia al respecto y la informacion que he refrescado
Bueno, en esta entrada tampoco voy a escribir un how-to a respecto, solo una serie de apuntes que considero de interes.
Hay una buena lista de distribuciones "minimalistas" aqui, pero vamos lo importante en este caso es lo siguiente:
-Que se instale desde un floppy (o varios).
-Que no necesite disco duro ni cd-rom.
-Que corra en RAM (cuanta menos mejor).
-Que disponga aplicaciones para la recuperacion y para poder usarla de router o servidor.
-Posiblidad de ampliarla y/o modificarla sin excesivos quebraderos de cabeza.
En mi caso em hacia falta lo siguiente:
-Iptables o ipchains (enrrutamiento y demas solucionado).
-Soporte de NFS y NIS.
-Quotas de usuario.
-Soporte para conexiones dsl, ppp y slip.
-Herramientas basicas de diagnosis de redes.
-Herramientas basicas de recuperacion de sistemas etc,,,
-Servidores ssh, mail, http, ftp.
-Maximo 32mgb de RAM.
Bueno pues despues de buscar por hay, me acorde de que algunas de las mas populares de este tipo de distribuciones (mulinux, basiclinux, greycatlinux, coyote linux, etc,,,) estan basadas en slackware sobre todo en versiones 3.5 y adelante.
Total que lo que no me daban unas me lo daban las otras, y esto suele pasar,, la solucion: modificar una distro de estas.
La elegida fue mulinux, pero podia haber sido cualquiera de las anteriores.
Esta distribucion esta basada en slackware y posee un sistema curioso de instalacion y creacion de floppys, un script en bash larguisimoooo se encarga de generar los floppys y otro se encarga de configurarla.
Mi solucion fue muy sencilla, despues de ver como se montan los dispositivos de bloques en /dev/ram.....n me puse a investigar un poco.
Basicamente ya habia probado otras distros, y digamos que todas son muy parecidas, es mas la mayoria comparten kernel,,, y hay esta la cuestion.
Esta parte se puede tomar como un anticipo a la introduccion de como crear tu propia distro, documento que publicare pronto.
Evidentemento en este articulo tan solo se explicara como añadir aplicaciones y no como crear, instalar y compilar tu propia distro.
Lo primero sera buscar los binarios ya compilados para nuestra distro, en el caso de mulinux, basiclinux, greycat etc,,, estan basadas en slackware 3.5 y podeis descargar toda la distribucion aqui.
El resto es coser y cantar, te bajas los archivos instalas (o bien lo haces a mano, copiar pegar, mover....) o te creas un sencillo script en bash.
#!/bin/bash
cd etc
cp * /etc
cd ..
cd /bin
cp * /bin
cd ..
Esto nos copia los archivos el solito XD.
En el caso de cualquier distro basada en slackware3.5 cualquier binario nos servira en nuestra mini-distro (si estan basadas en ese kernel y en esa distribucion evidentemente....)
Mulinux viene con muchas aplicaciones en floppys varios, que bien se pueden instalar durante la instalacion de la distro, o bien posterioremente.
Las opciones que tenemos se puede resumir en dos:
-Crear un sistema que sea compatible con tu distro (ejemplo los floppys adicionales con sus scripts de inicio y su manera peculiar de instalar las cosas)
-Instalar las cosas a tu manera, para mi la mejor opcion.
Si entramos en directorio donde se encuentran los paquetes para la vieja slackware 3.5, veremos que logicamente hay mas aplicaciones que las que incluye nuestra distribucion, pues nada ha bajarlas y a instalarlas, ya esta, son binarios compilados para ese kernel y que dependen de las librerias y aplicaciones que vas a encontrar en los paquetes de la distro, no tiene mas complicacion.
De como los instales ya depende de ti, pero el metodo "basto":
#cp archivo /directorio_de_destino
y demas "astucias" son mas que suficientes para tenere funcionando quota en una mulinux, o installpkg, o xpdf, el paquete de netpipes, yellow pages, (el kernel y tal es antiguete heeee).
Como nosotros somos como somos, pues siempre queremos mas, evidentemente podemos bajar toda la distro y meterla en ram, pero aconsejo ser mas selectivos, por supuesto tambien se encuentran disponibles los fuentes, entonces ya no hay problema :).
Ademas, las distros a no ser que sean realmente antiguas y practicamente inservibles, se puede actualizar a versiones mayores, compilar un kernel tampoco es un problema, eso si deberemos cargarlo en otro disco para que carge al inicio,,, evidente,,,
Como podemos compilar, tambien podemos compilar software externo a la propia distribucion, logicamente usaremos el sistema donde tenemos que compilar,(kernel, compilador y demas, un entorno chroot es ideal para esto) imaginaros como corre un mulinux instalado en un amd a 900 con 1giga de ram....
Despues copias los ejecutables y el proceso se repite....
Un problema que se nos puede presentar, es el espacio.
En las mini-distros que corren sobre ram los tamaños de los dispositivos que corren sobre la memoria suelen estar limitados, es decir las particiones ocupan un espacio definido
Tenemos una opcion (si tenemos mas ram claro), si haciendo un free obtienes que estas usando 8megas de ram y te quedan otras 8... pues nada creas otra particion en ram y listo :), un buen documento sobre esto en español aqui.
Tambien puedes usar NFS para usar una particion de otra maquina, puedes crear swap, etc.... las posibilidades se extienden :))
Lo bueno que tienen estas mini-distros, es que son sistemas muy viejos y pequeños, y por tanto son superfaciles de "meterles mano" y modificarlos al gusto, esta es la conclusion del articulo.
Una cosa es lo que un autor pone en su mini-distro y otra cosa lo que podemos hacer con ella.
Espero poder escribir un how-to extenso sobre el tema cuando termine con una red que va a usar "inventos" de esta indole.
Xento Figal 2004-09-21