sábado, julio 28, 2007

Seguimos con el centro tic (sin fonera)

Perdonar por no haber posteado en tantos días (desde el lunes), pero es que los astros se han alineado para que no me haya sido posible, bueno tonterías a parte, lo que ha pasado es que esta semana entre playa, alguna que otra quedada y adicción a Cazadores de Mitos no he hecho nada relativo a la informática (bueno los dos últimos días si), ni a la fonera, ni a nada, estos días solo he leído los feeds en google reader, descargado alguna cosilla y poco más, así que no tenía nada que contar.

Sin embargo si hay dos o tres cosillas que contaros, básicamente actualizar la información sobre el estado de mis proyecto y contaros una idea que se me ocurrió ayer.

Vamos a empezar por lo primero, la fonera no la he tocado, todavía sigue exactamente igual de inútil, seguramente hoy haga algún intento más, sobre el script para rapidshare... pues tampoco lo he hecho, al final descargué todas haciendo el proceso a mano, cuando acababa una descarga cambiaba la ip y descargaba la siguiente. De todas formas todavía no he acabado porque algunos enlaces estaban mal puestos, por ejemplo ponía que era el programa 2x14 y en realidad era el 2x13, así que tengo que descargar dos o tres capítulos de nuevo (buscare otra fuente) además de alguno que no estaba en la lista de enlaces. Y creo que ya no hay mas cosas pendientes, así que vamos con otro tema, mi última idea:

Pensando en mi centro tic recordé un viejo proyecto que tenía respecto a él, montar un servidor f0 en mi red lo mas parecido posible al del instituto para hacer instalar después en una maquina virtual un sistema igual al que tienen las laptops del centro tic, es decir hacer netboot en la maquina virtual y luego instalar el sistema a partir de la imagen del servidor. Para ello yo contaba con algunos scripts que se encuentran en el ftp de f0, scripts interesantes que son sobre la instalación del sistema, sin embargo con eso no es suficiente además en e mismo ftp había un repositorio, en cuya carpeta dist había una carpeta llamada breezy, por lo que se deduce que es un repositorio de ubuntu breezy (seguramente con algunos paquetes especiales). Entonces el primer paso que se me ocurrió dar fue montar un repositorio en mi servidor, porque con un solo script no vamos a ningún lado, hace falta también los paquetes que instalar, y que mejor sitio para obternerlos que nuestro repositorio, así que nada busqué un poco como montar un repositorio, leí algo sobre apt-mirror, pensé en copiar un repositorio con wget... pero entonces llegó la solución mas sencilla, mirando la web del repositorio oficial de guadalinex, vi un link que pone las normas para hacer un mirror oficial... tener un servidor con capacidad, 1mb/s, ftp/http... pero lo mas interesante es la parte que pone como conseguir los datos para el mirror, la forma es mediante rsync, la url es esta: rsync://pool.guadalinex.org, y ahora copy&pasteo una parte:

Al conectar con las URL's especificadas arriba podrán verse los directorios que pueden sincronizarse. El contenido es el siguiente:

/guadalinex-toro: Repositorio de la versión 4 de Guadalinex (~1,5 GB)
/guadalinex-flamenco: Repositorio de la versión 3 de Guadalinex (~3 GB)
/guadalinex-descargas: Contiene ficheros relativos a Guadalinex como imágenes ISOs, documentación, portadas, etc.
/guadalinex: Repositorio de las versiones 1.0 y 2004 de Guadalinex (~31 GB)
/mirror: Mirror congelado de Debian usado en las versiones 1.0 y 2004 de Guadalinex (~38 GB)
/ubuntu: Mirror de Ubuntu en sus versiones breezy, dapper y edgy. Utilizado por las versiones 3 y 4 de Guadalinex (~85 GB)

A mi lo que me interesaba era ubuntu así que creé en mi server un directorio para el objetivo, /media/almacen/repo, y luego ejecute el comando adecuado para la sincronización de directorios: rsync -av --stats pool.guadalinex.org::ubuntu /media/almacen/repo. Lo tuve dos días sincronizando (en total conseguí unos 5 o 6 GB), y ya me extrañó un poco que tardara tanto y recordé que en el wiki de guadalinex pone cuando pesa cada directorio del repositorio
y vi que eran 85 GB!!! entonces cancelé la operación y borre lo hecho porque antes de esa pequeña descarga prefería investigar otras cosas. Pensé que antes de correr la instalación y deja que instalara en la maquina virtual lo que le diera la gana, que descargara del repositorio lo que quisiera... sería mejor, mas constructivo y me serviría para aprender más investigar todos y cada uno de los archivos de instalación, mirarlo todo, y ver paso a paso que va a hacer durante la instalación en cada instante. Entonces lo que hice fue leer los 4 o 5 scripts que descargué en su día de ftp://f0. Vale cuando acabé no saque nada muy útil, crea las particiones, se conecta al server, configura apt y llama un par de scripts, uno de ellos llama otro que detecta la tarjeta de red que se usa, otro detecta la gráfica. El que detecta la gráfica lo único que hace es ver si tiene nvidia, y si es así instala el paquete mediante apt-get el paquete cga-portatil-toshiba (por eso dije lo de paquetes especiales en el repositorio). El de detección de red detecta la interfaz de red y la configura adecuadamente, por cierto en este archivo también esta la clave wpa de la red y essid de la red, channel, en fin aquí esta todo lo que se puede encontrar en /etc/network/interfaces, así que aunque se le quiten permisos de lectura (que los tenía, de hecho yo lo copié y conseguí la clave wpa), se pueden seguir leyendo esos datos, ya que este script de detección de red es público, está en el ftp de f0 y puede acceder cualquiera. Bueno así a grosso modo los scripts no hacen nada más... eso es poca información, yo tengo constancia de que para hacer la instalación en red de guadalinex en el centro tic hay tres formas (o cuatro, según se mire), mediante netboot (pxe) con un servidor que lo proporcione todo, desde un cd mínimo de arranque que proporciona un kernel y la configuración para conectarse al server f0 y obtener los famosos script para la instalación, y por último mediante un pendrive bootable, pero este método que yo sepa no sirve con las laptops (o al menos yo no conseguí en su día arrancar por usb, bueno este método tiene dos variantes, el pendrive puede ser con grub o con syslinux. El problema es que yo solo tenía a mano la imagen del cd, pero también quiero examinar las imagenes del usb, así que me fui a la guía para centros tics y en el anexo sobre como hacer la instalación en red pone como conseguir las imagénes para cualquiera de los dos métodos, así que descargué las dos imágenes para pendrives (la de grub y la de syslinux).

Vamos a empezar a analizar los métodos por el principio, el de netboot no puedo hacerlo, porque no tengo el servidor tftp con los archivos adecuados, así que nada este método de entrada tengo que descartarlo.

El método del cd, hmmm, este tiene buena pinta, lo primero que hago fue montar la imagen del cd en un directorio multiusos (uno que tengo reservado para este tipo de experimentos) /media/test, y me encuentro con un par de kernels y con un par de initrd's. También hay un archivo útil, isolinux.cfg, con la configuración de arranque, el cd cuando arranca ofrece un prompt y le tienes que poner la palabra clave adecuada para la acción que quieras, las posibilidades son Instalav3, Instala, Actualiza, Instalatoshiba y Actualizatoshiba. Con el kernel linux.v3, solo arranca la primera opción, se deduce que es la única para instalar guadalinex v3. Todas las demás van con linux.204, seguramente será para guadalinex2004. La primera opción configura algunas cosas y apunta al script ftp://f0/install.cfg, a partir de ahí ya he leído los scripts, un vistazo rápido a las siguientes opciones muestra que clarisimamente es un kernel compilado por quién se haya encargado de crear guadalinex, porque no creo que el CGA haya creado un nuevo kernel para guadalinex, que puede, pero no lo veo... Esta última deducción la hago en base a los parámetros que se le pasan al kernel: actualiza, imagen=guadalinex2004-act1-wifi y imagen=guadalinex2004-act1-toshiba2. Además hay un directorio en el cd, se llama i386, luego standard/, y por último hay un archivo: boel_bin.tgz. Vale, y ahora que hacemos? pues a mi se me ocurrió examinar los initrd, no se si iba a servir para algo, pero lo hice, primero tenemos que descomprimirlo, y luego montar el archivo en algún directorio:

gzip -dc initrd.v3 > /home/neobius/ies/netb/initrdv3.img
mount /home/neobius/ies/netb/initrdv3.img /media/test2 -o loop

Vale hecho, ahora me fui al directorio donde estaba montado y estuve mirando que había, la verdad es que no encontré nada útil, aunque también es verdad que ni miré mucho ni sabía muy bien que mirar. Hice lo mismo con el initrd.204 pero tampoco me valió para nada.

Entonces me acorde del aquel fichero tgz que estaba en la única carpeta del cd, así que lo copio a mi directorio de trabajo, y lo descomprimo. Contiene varios directorios (etc, usr, bin, lib y sbin), y dentro de ellos había algunos ejecutables, librerías y un archivo de configuración de ssh. Vale muy bien, pero tampoco me ha servidor para nada.

El siguiente paso que se me ocurrió fue arrancar el cd en una maquina virtual y probar las distintas opciones para ir viendo el arranque a ver que pasaba. La primera opción no la use porque ya se lo que pasa, probé todas las demás y a primera vista los arranques de todas las otras opciones son iguales, o al menos iguales hasta el punto en el que se para, y se para porque intenta hacer un rsync a una dirección que no existe en mi red. Transcribo:

rsync -av 192.168.4.254::/boot/i386/standard/boel_binaries.tgz /tmp/boel_binaries

Por ahora hemos acabado con el cd, que de todas formas me ha dado algo de información, ahora mismo mi lista mental de cosas que tengo en el centro tic es conectarme por tftp a f0 pero realmente no se para que, porque que yo sepa este protocolo no tiene ningún comando para listar los archivos del servidor (vamos un ls), la otra cosa que tengo que hacer es probar el rsync a los dos servidores y a la dirección arriba puesta, bueno realmente la lista es mas larga, pero las cosas nuevas que se me han ocurrido son esas dos.

Ahora vamos con el usb, ambos archivos era imágenes que hay que copiar mediante dd al pendrive, así que cogí un pendrive de 256 mb que tengo por aquí e hice la operación con el de syslinux, había cuatro archivos: initrd, ldlinux.sys, linux y syslinux.cfg. Esto lo que hace es lo mismo que la primera opción del cd, instala v3 de la misma forma.

Entonces probé con la otra imagen, la de grub, la copie mediante dd:

dd if=llavero_arranque_grub.iso of=/dev/sdb

Y luego le echamos un vistazo, hay una carpeta boot, que ahora veremos y sorprendentemente hay otra carpeta, pero no una carpeta cualquiera, una carpeta que proporciona un nombre de usuario (y parte de uno real), no voy a poner el nombre entero, pero ese así: .Trash-xxxxxx, vamos que el usuario que creo esta imagen borró un archivo pero no su carpeta .Trash. Por cierto xyyyyy es así: x es la inicial del nombre e yyyyy el primer apellido. El archivo que hay dentro de esa carpeta es ESFW30.BIN, que la verdad no se que es.

Dentro de la carpeta i386 nos encontramos varios archivos: initramfs, initrd, linux y vmlinuz. Ademas de una carpeta, grub. Con un menu.lst, cuanto menos curioso, os pongo los títulos de cada una de las entradas:

EducaTICC USB normal
EducaTICC USB configuracion limpia
EducaTICC USB montar dispositivos escritura
EducaTICC USB qemu
EducaTICC USB modo texto
Instalar Guadalinex V3 especial para centros TIC
Guadalinex USB qemu con param. extend

Las dos últimas si tienen los mismos parámetros que el v3 del cd, llama al install.cfg de f0. Lo de EducaTICC es la primera vez que lo leo, luego arrancare el pendrive a ver que hace.

Ya no he hecho nada mas, he sacado algunas conclusiones, [¿]xyyyy trabaja en el cga[?], aunque realmente eso no me vale para nada. He aumentado la lista de cosas que tengo que hacer cuando me siente delante de un portátil del centro tic (rsync, tftp) y que necesito aprender mas sobre linux, porque, por ejemplo, durante el arranque del cd netinstall, de vez en cuando suelta algunos mensajes, y ejecuta algunas cosas, esas cosas yo no se donde se configuran, así que solo me queda una opción: LFS. Si voy a meterme en el proyecto lfs, acabo de bajarme el pdf y vy a leerlo, tengo que aprender mas, y ademas eso creo que me vendrá bastante bien el día que arregle la fonera y la prepare para que los portátiles puedan bootear desde ella, a ver cuando la arreglo... porque es la base de mi plan, tengo que hacerla funcionar.