MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Adios VMware, hola VirtualBox

Antes de nada, feliz año a todos.

Llevo usando VirtualBox como solución de virtualización casi un mes intentando evitar VMware Server, solución gratis pero no libre.

VMware Server ha sido parte importante en el desarrollo de TCOS ya que me permitía arrancar una máquina virtual en la red de mi equipo con TCOS y así no depender de otros equipos.

Con el cambio de equipo, mi Thinkpad no permite mezcla por hardware de sonido y active PulseAudio de forma permanente, aunque pueda parecer una tontería me había quedado sin sonido en los terminales, siempre quedaba la opción de usar pasuspender y liberar la tarjeta de sonido mientras vmware estuviese ejecutándose.

Desde hoy en Debian unstable tenemos virtualbox-ose 1.5.4 y como suelo hacer cuando se actualiza algo que uso y me interesa he ido a leer el changelog (zless /usr/share/doc/virtualbox-ose/changelog.Debian.gz).

Sorpresa, ¡han añadido como dependencia de compilación libpulse-dev! Configuro una de las máquinas que suelo usar y aparece una nueva salida de sonido (además de OSS y ALSA, llamado PulseAudio)

El sonido es perfecto, y ya puedo empezar a olvidarme de vmware-server cuyo futuro para equipos de escritorio no pinta demasiado bien (hace un mes probe la nueva beta y se han deshecho del interfaz gráfico gtk para mover todo al navegador, el plugin para firefox/iceweasel ocupa 11Mb y no me convence ejecutar máquinas virtuales directamente desde el navegador)

Para prueba un pantallazo (remarcado en naranja, VBox, cliente PulseAudio por donde suena VirtualBox):


Como todo tiene que tener una parte negativa, en VirtualBox la configuración de la red para jugar con TCOS se complica un poco ya que hay que hacer un puente, el equipo tarda un poco más en arrancar y el interfaz de red eth0 no tiene dirección IP. He seguido este estupendo manual del wiki de Debian para el puente de VirtualBox.

Como una de las muchas ventajas, la suspensión es mucho más rápida (una máquina de 256 Mb de RAM se suspende en 2-3 segundos y se activa en el mismo tiempo), permite algo que vmware no tiene: pausar la máquina virtual. Los snapshost no son simples y se pueden cascadear (cuidado con el tamaño) y el driver de los addons es mucho mejor que el de VMware.

Por lo visto si la máquina es un Windows se puede incluso ejecutar en modo «seamless», lo que permite ver las ventanas de las aplicaciones Windows como si fuesen aplicaciones nativas de nuestro escritorio (cosas del rdesktop).

En fin creo que soy un nuevo cliente satisfecho de VirtualBox.





¿Una pizarra digital es cara? Háztela tu mismo

Ya conocía la historia de hace unos meses pero verlo funcionando me ha hecho alucinar.

En el colegio Corazón de María de Palencia ya llevan muchos años usando Software Libre y terminales ligeros pero ver una pizarra digital casera y la documentación que han hecho después, es para que salga en todos los periódicos.

 

 

 

Mi más sincera y profunda enhorabuena Mª Dolores Almansa.

El proyecto es de un alumno erasmus de la Universidad de Córdoba.

¿Dónde estan los premios para la gente que se los merece de verdad?





Arranque de GNU/Linux no local a través de la historia

Hace unos días en la lista debian-live se publicó una de las últimas mejoras que es poder descargar el archivo squashfs (un sistema raiz comprimido del órden de 3:1) mediante http.

Bien, desde el principio de los tiempos (que se usa GNU/Linux) siempre hemos tenido multitud de opciones distintas para cargar el sistema operativo desde los dispositivos/medios más extraños:

LIVECDS

El primer livecd (sin demasiado éxito) fue creado allá por 1995, aunque hasta el año 2003 con la aparición de los primeros Knoppix no fue demasiado usado.

La técnica consistía en generar un archivo comprimido (cloop) que más tarde se montaría como sólo lectura y al que por determinados trucos podíamos simular que se podía escribir (solapando la memoria RAM con el cloop)

La técnica fue mejorando y saliendo nuevos drivers como unionfs, squashfs y hace poco aufs.

El proyecto Metadistros siempre fue un punto de referencia para crear livecds ya que las distribuciones españolas más importantes de aquella época (Linex y Guadalinex) se basaban en sus scripts para arrancar.

UPDATE: Metadistros nació (después de/a partir de) Linex para unificar a todas. (gracias José L. Redrejo)

Con la llegada de Ubuntu nació casper, que tomó prestado y también programó de cero muchas partes de su «arranque». En Debian se adoptó casper pero no duró mucho naciendo un fork llamado live-initramfs que lo mejoró en bastantes casos.

Nunca me acabó de convencer casper ya que los scripts que siempre he usado para mis pruebas (initramfs-tools-metadistros basados en el calzador de Guadalinex) eran bastante más rápidos y hacían todo lo que necesitaba.

Un subderivado que últimamente ha tenido bastante éxito son los LIVEUSB que vienen a ser lo mismo que un cd pero con las ventajas de velocidad y escritura de las memorias USB (cada vez más baratas).

Ya hace un tiempo estuve jugando con ellas en el proyecto conocido como USeBix, pero aquello quedó en standby, aunque todavía sigue salvando de desgracias, ¿verdad Rober?

RED

Bastante antes del nacimiento de los livecds existe la posibilidad de arranque por red. Fué en 1999 cuando comenzó el proyecto más popular: LTSP. Casi 10 años después, es el proyecto más usado para «resucitar equipos obsoletos», pero en la versión 5 (la última que ha salido no hace mucho) parece no haber seguido su habitual facilidad y sencillez y mucha gente no puede usarlo o no le funciona.

LTSP crea en un directorio una microdistribución que comparte por NFS para que cada terminal que arranca lo monte como su sistema «/». Esto en equipos con muy poca memoria es la única solución pero cuando tenemos más de 40 Mb genera demasiado tráfico por red (tráfico innecesario si el equipo pudiera usar más su RAM y menos la red)

PXES nace a partir de la idea de LTSP pero exportando un sistema de archivos «/» dentro de un squashfs que se generaba con un completo asistente. El problema de PXES fue que estaba anclado a programas y librerías antiguas y no era posible avanzar o añadir nuevas características de una manera sencilla. Dejaremos a parte la empresa 2x....

Tanto el uno como el otro han usado siempre un servidor TFTP (Trivial File Transfer Protocol) un pseudo-servidor FTP en el que no hace falta autenticación.

El año pasado nace TCOS, pero no voy a hablar demasiado de él porque ya hablo lo suficiente en el resto de lo que escribo por aquí.

Desde el proyecto LTSP han venido investigando métodos para evitar el servidor NFS y uno de ellos es NBD (Network Block Device) que está compuesto por un módulo del kernel, un cliente y un servidor. Con NBD es posible exportar un archivo como si fuese un dipositivo y montarlo como un dispositivo loopback en una máquina remota. Ellos lo han usado para SWAP por red pero en mis pruebas yo lo he usado para exportar el squashfs de TCOS, y así evitar la descarga.

 

Con todo esto lo único que quiero dejar claro es que la gente de debian-live está haciendo un gran trabajo pero para nada han descubierto algo espectacular. Descargar un archivo de 500-600 Mb con wget y usarlo como sistema «/» puede estar bien si nuestra máquina tiene 1-2 Gb de RAM y una tarjeta de red de 1Gbit... aún así se sigue necesitando un CDROM o memoria USB para cargar tanto el vmlinuz como el initramfs (lejos quedaron los tiempos en el que los dos cabían en un disquete)

Hasta que no se mejore el soporte de arranque desde los dispositivos hardware, HTTP no puede ser un método primario de arranque, TFTP, por ejemplo sí lo es.

 

Mientras y para no tener que escribir un nuevo artículo, en TCOS se ha añadido soporte para escuchar CDAUDIO desde terminales (usando el módulo cdfs) y estoy haciendo pruebas con un nuevo juguete que encontré el otro día por casualidad: USB/IP.

USB/IP consiste en varios módulos para el kernel y algunas utilidades, y lo que hace es apropiarse del dispositivo USB que le digamos y servirlo por red a otro equipo.... Los usos casi los limita la imaginación:

  • Usar webcams en terminales ligeros
  • Scanner o impresoras
  • VOIP
  • .....
El proyecto aún es demasiado experimental y no he conseguido hacerlo funcionar al 100%, pero por si a alguien le interesa puede encontrarlo convertido en paquetes deb en el repos de tcos.



Ya está aquí mi ThinkPad

Llevo dos días embobado mirándolo, los dos días menos productivos desde hace mucho tiempo, pero uno se ha querido dar un capriso, comprarse ordenador y la novedad es lo que tiene...

Bueno, pues ayer por la mañana (con algún día de retraso) llego mi nuevo Lenovo ThinkPad R61.

 


La caja de la izquierda (que llego el lunes sólo traia esa pequeña bolsa oscura: 2Gb de RAM)

 (Más)



No habrá paquetes con módulos sueltos para el kernel en Fedora 8

Desde el planet freedesktop, via blog de Lennart Poettering (el creador de PulseAudio), leo con bastante sorpresa que Fedora quiere eliminar/prohibir aquellos paquetes que llevan módulos para el kernel, obligando así a dos cosas:

1.- Que los drivers sean incluidos y mantenidos en el kernel por los responsables de cada distribución, o que muchas veces no es sencillo porque hay que convencerlos...

2.- Que si se van a enlazar, el kernel sean GPL2.

Se ha generado una buena discusión en este hilo de su bugzilla.

Lo que ya no se si tampoco permitirán los paquetes con las fuentes como hace Debian. 

Lo que no he leido nada sobre módulos propietarios (cada vez quedan menos).

¿Esto sería posible en distribuciones donde cada vez hay más software no libre como Ubuntu?

Si instalamos un kernel ¿tendremos millones de cosas que nunca vamos a usar? (me vienen a la cabeza los módulos para montar clusters de RedHat)





Soporte en TCOS de otras arquitecturas no i386

Suele ser bastante normal que como servidor de una red grande de terminales se compre un equipo potente y con un microprocesador de 64bits.

Hablando de 64bit, el lunes creo que llega mi Thinkpad R61 nuevo con 2 Gb de RAM extra... ya colgaré las fotos y gracias por todos los comentarios que me dejasteis.

Bueno sigo con TCOS... 

1.- No había paquetes para amd64

2.- En caso de haberlos si generamos imágenes se hacen para clientes de 64bit que no suele ser lo más común.

3.- Solución que se propuso hace tiempo: monta una jaula de 32 bits, en google hay buenos howto's.

Bien, pues después de un par de días de hacking, he modificado TcosConfig y creado algún script que otro para que si instalamos TCOS en amd64 el tema de la jaula de 32 bits sea «Pulsar un botón»

Capturillas para verlo mejor:

Ejecuto tcosconfig (hay truco, estoy simulando que uso amd64, sin truco se usa «dpkg-architecture» para obtener la arquitectura)

 

 

Le decimos que si y aparece esto:

 

El botón de construir chroot está deshabilitado porque ya está construido... Tongue out

Las opciones de construcción son bastante parecidas a las que pide «cdebootstrap» 

 

Es MUY recomendable cambiar la línea del mirror por uno más cercano a nosotros. Ganaremos en tiempo, velocidad y no perjudicaremos al mirror principal de la distro.(NOTA: En ubuntu sale http://archive.ubuntu.com)

Pulsando el botón de actualizar jaula sale esto:

El botón de construir paquetes nos llevará al asistente habitual, pero modificado para usar la configuración de la jaula y generar la imagen dentro de ella, para por fin enlazar las imágenes en el directorio tftp del servidor de 64bits.

El simulador de consola (python-vte) lo he tomado prestado de aquí.





Se busca portátil

Mi actual ordenador portátil, del que ya he hablado muchas veces en el blog, se ha quedado un poco viejo.

Es un Acer Aspire 1355LM con un procesador Athlon XP-M 2600+ y que originalmente traía 512 Mb de RAM con 40Gb de disco y de los primeros en traer grabadora de DVD. No hace mucho aumente la RAM a 1Gb y el disco a 120 Gb y aún funciona muy bien con sus casi 6 añitos...

Uso bastante virtualización (vmware) y me gustaría probar otros sistemas como virtualbox o xen pero el procesador no vale porque necesita no se qué flag para aprovecharlo al máximo...

Las carácterísticas que busco son:

  • Procesador Core 2 Duo y si es posible de los últimos denominados Santa Rosa, tipo T7100 T7300 (1,8 - 2.0 GHz)

  • RAM, 2 Gb, o más, jugando con máquinas virtuales, metadistros y demás, cuanta más ram mejor.

  • Tarjeta gráfica buena, soy sufridor de una VIA KM400 desde hace un montón (6 años) y necesito algo que funcione, no soy jugón pero si se precia... NVIDIA con algo de memoria dedicada o Intel, de momento ATI sólo ha liberado dos pdfs por lo que no convence...

  • Conectividad, lo de siempre, wireless, bluetooth, 3 (mejor 4) USB, LAN 10/100 (y si es posible 1000)

  • Disco duro, al menos 160 Gb, para no depender tanto del disco USB externo que seguiré usando de cualquier modo. Si es posible de 5.400 rpm Aunque existen portátiles con 2 o incluso 3 discos en RAID eso ya me parece excesivo.

  • Grabadora de DVD (sacar copias de seguridad, tostar metadistros...)

  • Batería. Punto flojo aún en portátiles... ¿Es mucho pedir 3 o 4 horas?

  • Teclado. Parecerá una chorrada pero necesito que la tecla Ctrl (izquierda) esté a la izquierda del todo, muchos fabricantes ponen la tecla Fn (function) y es un peñazo.

  • Windows. Si me puedo librar de pagarlo mejor, sino me conformo con un Xp, a las malas también me vale Vista.

  • Pantalla. Con 15,4" me sirve, 17" me parece demasiado grande aunque necesito más un portable que un portátil, ya que no tengo equipo de escritorio.

  • Que funcione bien con Linux, no me importa pegarme un par de días si funciona bien. Pedir soporte por parte del fabricante de momento es soñar despierto.

  • Precio. Estoy dispuesto a pagar (si la calidad es buena y cumple lo que necesito) hasta 1400-1500 euros.

Así que me he puesto a buscar aspirantes:

  • Dell (por eso de venir con Ubuntu), no me convence ninguno de los que tienen de serie y en cuanto lo configuras con un buen procesador y 2 Gb de RAM el precio se dispara... El más parecido es el Latitude D830, que quitándole soporte business se queda en 1300€+IVA.

  • Macbook, son bonitos, muy bonitos, pero no son aún PCs por mucho que intenten convencernos, voy a usarlo exclusivamente con Debian y temas como falta de teclas convencionales o botón derecho en el touchpad me echan para atrás... Hace un tiempo probe unos días uno en mi casa y no se conectaba a la wireless, aún así pagar 200€ más por el color negro me parece una pasada.

  • Acer, estoy supercontento con mi Acer pero creo que es el momento de cambiar de marca, el soporte técnico es bastante malo (dicen, ya que la única vez que se me estropeó me lo solucionaron en 15 días) Los que más se acercan son los travelmate 5720G que vale 1250€ con gráfica ATI.

  • IBM/Lenovo, me gustan mucho los Thinkpad, son a prueba de terremotos, en la Ubuntu Developers Submit de Sevilla ví como la mayoría de ellos tenían un Thinkpad (el famoso portátil con clítoris). De la serie T el que más se ajusta a lo que necesito sube a más de 2.000€.

  • Sony Vaio. Nunca pensé en comprarme un portátil «pijo». Pero viendo los precios y el acabado parecen muy buenos equipos. Me gusta el FZ21M. Tiene todo lo que pido (sobra el BlueRay) y no es demasiado caro: 1350€.

  • Otras marcas. También he revisado Samsung, Toshiba, HP, Asus... pero no he visto nada espectacular y barato.

En resumen. Estoy casi convencido de comprar el VAIO, y ya he buscado por foros de Ubuntu los problemas con los que me encontraré (casi todos subsanables).

¿Algún consejo?

¿Conoces otro portátil que no haya mencionado y que merezca la pena?





Sistema de control de errores en Debian y Ubuntu

Siempre he sido participativo en el sistema de control de errores de Debian, y como prueba están mis bugs/parches y comentarios enviados.

Ayer con el problema de libxmlrpc me estrené  en el sistema similar que usa Ubuntu, conocido como launchpad.

Estoy bastante sorprendido por la rapidez con la que ha pasado todo.

2007-08-24 Se sube una nueva revisión de xmlrpc-c (1.06-17-0ubuntu3)

Yo estaba compilando tcosmonitor (que depende de esa librería) y noté que en Ubuntu Gutsy no compilaba porque habían cambiado los nombres de los archivos cabecera (*.h)

Ese mismo día envío el bug con número #134529.

2007-08-26 Después de explicar y comprobar la razón del fallo (una actualización de la librería y cambio de nombres de los include) pregunto que otros paquetes dependen de libxmlrpc-c3-dev y veo que openser también podría estar afectado.

2007-08-28 Propongo que añada un nuevo enlace para mantener la compatibilidad (ya que el API no parece haber cambiado demasiado) y hace 9 horas el bug ha sido solucionado y los paquetes ya están en los mirror.

He solido ser bastante crítico con la distribución Ubuntu pero en casos como este hay que reconocer que han funcionado muy bien (y ya se que depende más del tiempo libre del responsable del paquete que de la distribución en sí) pero «al Cesar lo que es del Cesar»




Hace un año: PulseAudio parte II

Emergiendo recuerdos
Llevo unos días recordando experiencias pasadas con gentoo, ahora que empieza el calor me he metido a compilarme una gentoo en una máquina virtual vmware.

Ya tengo Xorg, gdm, xfce4 y cuando me disponía a emerger mozilla-firefox me he encontrado con esto:

* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking firefox-2.0.0.2-source.tar.bz2 ;-) ... [ ok ]
* checking mozilla-firefox-2.0.0.2-patches-0.5.tar.bz2 ;-) ... [ ok ]
* checking mozilla-firefox-2.0.0.2-es-ES.xpi ;-) ... [ ok ]
* You are enabling official branding. You may not redistribute this build
* to any users on your network or the internet. Doing so puts yourself into
* a legal problem with mozilla foundation


Joer, mucha gente ha criticado a Debian por cambiar el logo y el nombre a firefox iceweasel (a todo esto el logo de Debian es mucho más guapo, sobre todo la versión azul), ¿nadie se ha dado cuenta que gentoo no permite (y/o aconseja) distribuir los binarios?

Allá cada uno con su conciencia.

Aprovecho para agradecer todos los comentarios sobre los paquetes de TCOS en Debian, la mini-encuesta me ha servido para afianzar más aún mi idea de paquete independiente. Intentaré entrar a Debian por otras puertas (o quizás pruebe en Ubuntu).




Derivadas de distros, analizando Protech
Hoy se ha liberado la primera beta de Protech.

Es una distribución basada en Ubuntu feisty optimizada para ser muy rápida (escritorio Fluxbox) y pensada para aquellos administradores de redes o servidores  y programadores interesados en seguridad.

Realmente no hay muchas distribuciones de este tipo y menos basadas en Ubuntu (que yo conozca) y una de las cosas que más me ha sorprendido es que tiene un montón de utilidades listas para usar. Conozco a uno de los desarrolladores (m4sterguru) mediante gtalk, hemos intercambiado opiniones, trucos y demás para hacer livecds/metadistros desde ya hace unos cuantos meses y hoy me ha avisado para probar su nuevo juguete.

No soy experto en seguridad, ni mucho menos en atacar algo que no es mío, de hecho apenas supe defenderme de un par de ataques que hemos sufrido en SOLEUP... así que con unos buenos manuales es posible aprender que la mejor defensa es atacarse a uno mismo para descubrir vulnerabilidades y corregirlas.

He visto que entre las herramientas de securidad, hay inyectores de SQL, exploits varios, herramientas de análisis forense, ataques de contraseñas, snifers, aplicaciones relaccionadas con la seguridad wireless, etc... en fin una navaja suiza perfecta para llevarla entre nuestros 10 cds más usados.

Pongo un par de capturas de pantalla porque el aspecto gráfico es una de las cosas más trabajadas en esta distro:

Menú seguridad:



Menú aplicaciones: