tvtime + xmltv + tv_grab_ar.py

En lo que ha sido del año pasado he dedicado poco tiempo a la TV, tras advertir como se viene abajo la calidad de la programación (o como cada vez uno se pone más exquisito), me da menos ímpetu. Veo la “caja boba” por la PC, como todo el que quiere ahorrar espacio, mediante una pequeña y económica placa sintonizadora (Encore ENLTV-FM) que funciona muy bien en Linux, incluso con control remoto.

Tratando de encontrar alguna emisión como la gente por el canal de cable, hace unos meses me dediqué a hacer funcionar la información en pantalla de tvtime. Básicamente, tvtime obtiene la información de programación a partir de un archivo con formato estándar XMLTV, por lo que del lado del software de visualización está todo hecho, lo que falta es conseguir una fuente desde la cual obtener la información y entregársela de la forma adecuada (es decir, generar el archivo XML).

De eso se encargan los scripts del paquete xmltv-util. En particular, el script tv_grab_ar toma la información de mi proveedor de cable en argentina, amasa los datos y escupe un xml que se puede pasar directo a tvtime. Lamentablemente no logré hacer funcionar la versión 1.6 de tv_grab_ar tal cual viene en el paquete, y tras varios minutos haciendo debugging sobre las líneas decidí dejar de descifrar perl y comenzar a escribir un nuevo script en python.

Las primeras versiones fueron bastante sencillas, la librería BeautifulSoup lxml (BeautifulSoup ya no funciona correctamente) facilita mucho nadar en el HTML del sitio web de MC. En versiones siguientes añadí la posibilidad de descargar la reseña de cada programa de TV, una funcionalidad que según creo no estaba en el paquete original.

Básicamente los pasos son: obtener la grilla de programación de la semana actual para cada canal, y luego para cada programa obtener el título, horario, descripción, género, etc. Como la descarga de descripciones es muy tediosa y lenta (es como mínimo una petición HTTP por programa) y como muchas veces los programas se repiten (en la misma semana o entre semanas) aproveché el módulo pickle para almacenar el diccionario de emisiones entre invocaciones al script, agilizando de esta manera la actualización de los datos.

Finalmente terminé con este script que dejo en el blog por si a alguien le sirve. Las capturas de pantalla son un indicio de como tvtime presenta la información. Como siempre, cualquier consulta, sugerencia, crítica o mejora es bienvenida.

Descarga: tv_grab_ar.py [ver. 2015.03.02-1]

Últimos cambios: Fix sutil por problemas en la codificación de los títulos. Reincorporación del caché y de la descarga de descripciones de los shows. Sean pacientes pues la descarga ahora demora bastante más tiempo que antes. Si quieren la programación rápidamente, aunque no tenga las descripciones, usen –skip-descriptions. Como no tengo forma de probarlo localmente, Please Test & Give Feedback!

Instalación:

  1. Descargar tv_grab_ar.py y mover el archivo al directorio de tvtime:
    mv tv_grab_ar.py ~/.tvtime/tv_grab_ar.py
  2. Instalar la librería beautifulsoup:
    apt-get install python-beautifulsoup
  3. Instalar la librería python lxml:
    apt-get install python-lxml
  4. Ejecutar:./tv_grab_ar.py --configuree indicar la zona y los canales para los cuales se desea obtener la información. El valor de zone determina la grilla de canales según la localidad.
  5. Ejecutar:
    ./tv_grab_ar.py --verbose --output=programacion.xml

    para obtener la programación y las descripciones de los programas. Este proceso demora varios minutos, sean pacientes.

  6. Iniciar tvtime e indicar que obtenga la programación desde el archivo:
    tvtime --xmltv=programacion.xml

Para finalizar, lo ideal es colocar en el cron de usuario una entrada para ejecutar la actualización al menos una vez por semana.

usage: tv_grab_ar.py [-h] [--days N] [--offset N] [--skip-descriptions]
                     [--output FILE] [--configure] [--config-file FILE]
                     [--quiet] [--verbose] [--list-channels] [--zone N]
                     [--capabilities] [--describe] [--description]
                     [--cache FILE] [--version]

Get Argentinian television listings in XMLTV format

optional arguments:
  -h, --help           show this help message and exit
  --days N             Grab N days. The default is 3.
  --offset N           Start N days in the future. The default is to start
                       from today.
  --skip-descriptions  Do not download program descriptions.
  --output FILE        Write to FILE rather than standard output.
  --configure          Prompt for which channels and write the configuration
                       file.
  --config-file FILE   Set the name of the configuration file, the default is
                       </home/maurom/.xmltv/tv_grab_ar.conf>. This is the file
                       written by --configure and read when grabbing.
  --quiet              Suppress the progress messages normally written to
                       standard error. [not implemented]
  --verbose            Display additional information.
  --list-channels      Display only the channel listing.
  --zone N             Override user location for retrieval of channels.
  --capabilities       Show which capabilities the grabber supports. For more
                       information, see
                       <http://wiki.xmltv.org/index.php/XmltvCapabilities>
  --describe           Show a brief description of the grabber.
  --description        Show a brief description of the grabber.
  --cache FILE         Cache description data in FILE. The default is 
                       </home/maurom/.xmltv/tv_grab_ar.db>.
  --version            show program's version number and exit

Cero planificacion

Por si quedaban dudas de que estamos en un país bananero, el gobierno ahora no sabe si va a cambiar la hora este domingo 18 de octubre de 2009, pasando de GMT-3 a GMT-2. Y hoy es viernes 16. Ya el año pasado los que mantenemos sistemas informáticos aquí en Argentina tuvimos bastantes dolores de cabeza con la indecisión gubernamental, lo que llevó a una gran discusión respecto de la falta de certezas en el cambio horario. Se ve que fueron, por decirlo así, al cuete.

Pero… ¡a ver si se dejan de joder de una buena vez y ponen las cosas en claro!

Yo creo que las opciones ser dos: o mantener siempre GMT-3, o bien usar GMT-3 y pasar a GMT-4 en el otoño.

Si toca mantener un Debian/Ubuntu/loquesea, y si el gobierno decide que SI habrá cambio de huso horario, las opciones son variadas:

  • En Debian 4.0 Etch (que ya no debiera estar en producción), hasta la versión 2008e-1etch3 del paquete tzdata, no está contemplado el cambio de huso horario el domingo. El paquete del repositorio volatile, versión 2009g-0etch1, sí contempla el cambio horario a GMT-2 del domingo 18 de octubre.
  • En Debian 5.0 Lenny, hasta la versión 2009l-0lenny1, sí contempla el cambio horario el domingo.
  • En Debian Squeeze (que tampoco debiera estar en producción), hasta la versión 2009n-1, sí contempla el cambio horario el domingo.

Por otro lado, si el gobierno decide que NO habrá cambio, lo más sencillo es establecer en el servidor, mediante dpkg-reconfigure tzdata, un huso horario fijo tal como ETC/GMT+3 (sí, es +3), que corresponde al huso horario fijo constante GMT-3.

En cuanto se sepa alguna decisión coherente, actualizo el post.

Update 1: ahora me dicen que quizá el cambio se postergue… incompetencia não tem fim.

Update 2: Vuelta atrás. Ahora no hay cambio de huso horario.

Mil gracias a Marga que se encargó de corregir los paquetes tzdata para las releases etch (2009g-0etch1), lenny (2009g-0lenny1), y la rama inestable (2009n-2) de Debian.

Los improperios, como corresponde, diríjanlos a nuestros gobernantes.

X -configure

Lo olvido constantemente:

X -configure

porque tener un xorg.conf en blanco no siempre facilita las cosas.

Especialmente cuando la intención es usar una resolución específica en openbox sin depender de xrandr.

Modem adventures

Dispositivos soportados en esta laptop (ECS/Uniwill L41II):

[x] Host Bridge: Intel Corporation Mobile 945GM/PM/GMS Express Memory Controller Hub... 
[x] VGA compatible controller: Intel Corporation Mobile 945GM/GMS Express IGP... 
[x] Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express IGP... 
[x] Audio device: Intel Corporation 82801G (ICH7 Family) HDA Controller... 
[x] PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1/2/3... 
[x] USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1/2/3/4... 
[x] IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller... 
[x] IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller... 
[x] Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan]...
[x] FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394)...
[x] SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller...
[x] Mass storage controller: O2 Micro, Inc. Integrated MS/xD Controller...
[x] Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+... 
[x] DVD-RAM writer: MATSHITADVD-RAM UJ-850S...

y ahora también:

Welcome to minicom 2.3

OPCIONES: I18n
Compilado en Feb 24 2008, 16:35:15.
Port /dev/ttySL0
Presione CTRL-A Z para obtener ayuda sobre teclas especiales
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
ATI0
SmartLink Soft Modem
OK
ATI1
SmartLink Soft Modem, 2.9.11 Smart Link Ltd.
OK
ATI2
SmartLink Soft Modem, 2.9.11 Smart Link Ltd.
OK
ATI3
hw:0,6 alsa modem driver 
OK
ATI7
Country: ARGENTINA
OK

Efectivamente, tras una actualización de sl-modem-daemon (2.9.11~20090222-1), el modem on-board ahora funciona correctamente. No es que necesite conectarme por dial-up, pero nunca viene mal un medio de comunicación adicional.

Con esta actualización, el último dispositivo que quedaba sin funcionar en Debian ahora tiene soporte, por lo que es posible decir que, muy afortunadamente, Linux soporta ahora todos los dispositivos de esta laptop. \o/

Kernel Mode-Setting con Intel 945GM en Debian

Hoy dediqué unos minutos a probar Kernel Mode-Setting en el Debian de la laptop, aprovechando que tiene una placa de video Intel Mobile 945GM/PM/GM, que según dicen funciona razonablemente bien para KMS.

El sistema operativo de la laptop es casi en su totalidad Debian Lenny, salvo por OpenOffice, que es el 3.1 de experimental, por lo que no quería meter demasiados paquetes de otros repositorios.

Para arrancar, hace falta un kernel bastante nuevo. En inestable está el 2.6.29 que para esto viene muy bien. De paso trae soporte para ext4 y btrfs.

Posteriormente, algún servidor X.org más o menos reciente: xorg, xserver-xorg 7.4 y xserver-xorg-core 1.6.1 de unstable, más las dependencias que correspondieron (xserver-xorg-input-*, xserver-xorg-video-*, hal, console-setup, etc.).

También es necesario un driver de video intel actualizado: xserver-xorg-video-intel 2.7.0, con libdrm-intel1 y libdrm2, todo de sid. Y finalmente, para no perder la aceleración 3d, hay que actualizar libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa y mesa-utils a la versión 7.4.

Luego de reiniciar con kernel 2.6.29 (aunque no es necesario, conviene para ver que todo ande correctamente) el pegamento que une a toda esta mezcla es crear un nuevo initrd con KMS habilitado desde el inicio, para ello, en el archivo /etc/initramfs-tools/modules hay que agregar.

# Enable Kernel Modesetting
intel_agp
drm
i915 modeset=1

Y luego regenerar el initramfs:

# update-initramfs -k `uname -r` -u

tal como se especifica en la Debian Wiki.

Como ultimo paso antes de reiniciar con KMS activado hay que editar el archivo de configuración xorg.conf, comentando todas las líneas (todas) o directamente creando un archivo xorg.conf de tamaño cero (previo backup por supuesto) pues ahora el servidor X trata de autodetectar los dispositivos existentes.

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pre-kms
# rm /etc/X11/xorg.conf

Y listo. Reinicio y arriba KMS.

Con aceleración UXA, compiz y todo, la interfaz gráfica se siente realmente mucho más liviana, incluso mejor que sin compiz en el driver anterior, y el cambio entre terminales y la gráfica es casi imperceptible.

La verdad, es una maravilla. Mis felicitaciones a todos los que metieron código para hacer posible este avance. Esperemos que llegue pronto a las restantes placas de video.

Festival de Instalación de Software Libre FLISoL 2009

El Festival Latinoamericano de Instalación de Software Libre (FLISoL) es el evento de difusión de Software Libre más grande en Latinoamérica. Se realiza desde el año 2005 y su principal objetivo es promover el uso del software libre, dando a conocer al público en general su filosofía, alcances, avances y desarrollo. Para tal fin, las diversas comunidades locales de software libre (en cada país, en cada ciudad/localidad), organizan simultáneamente eventos en los que se instala, de manera gratuita y totalmente legal, software libre en las computadoras que llevan los asistentes. Además, en forma paralela, se ofrecen charlas, ponencias y talleres, sobre temáticas locales, nacionales y latinoamericanas en torno al Software Libre, en toda su gama de expresiones: artística, académica, empresarial y social.

El FLISOL 2009 se llevará a cabo el sábado 25 de abril. Por cuarta vez consecutiva, el UNLUX organizara la actividad en la ciudad de Luján. Este evento está dirigido a todo público, sin importar el nivel de conocimientos técnicos que se posea. Hay para todos los gustos, cultura y arte libre, licencias y derecho de autor, etc.

Este año la jornada comprenderá la instalación de software libre y se ofrecerán las charlas

  • “Instalación del sistema operativo GNU/Linux Ubuntu”
  • “Un tipo común tambien puede usar Linux”
  • “Vi/Vim no come dedos, es sólo un mito” (Vi/Vim para principiantes)
  • “Cómo meter cuatro elefantes en un fitito” (Virtualización)
    * Los títulos de las charlas pueden no ser los oficiales, sepa ud. disculpar

Agendando…

Más Info en www.installfest.info/FLISOL2009/Argentina/Lujan

Maquinas virtuales como escritorios con VirtualBox y Debian Lenny

Hace un tiempo un colega me comentó una idea bastante extraña que tenía para máquinas virtuales, que podría ayudarle a administrar algunos sistemas bajo su dominio. Me había quedado pendiente publicar este post al respecto.

Viene más o menos así: un lote de computadoras utilizadas en forma alternada por varios usuarios, cada uno de los cuales requiere un conjunto dado de programas instalados; algunos de estos programas son incompatibles entre sí por diferencias de versiones, o presentan conflictos con el sistema operativo, o requieren privilegios de administración, etc.

Entonces pensó en una solución posible utilizando máquinas virtuales para cada usuario, donde tuviera instalado el software que requiere con los privilegios que requiere y con independencia del resto de los usuarios. De esta forma cada persona que llega debería ingresar al sistema, iniciar la aplicación de virtualización, seleccionar e iniciar su máquina virtual, y realizar el procesamiento que requiera. Al finalizar, debería apagar la VM y luego cerrar la sesión en el sistema. Lo mismo que hacemos todos aquellos que usamos VMs.

Pero – dijo – no estaría mal presentarle al usuario una lista de máquinas disponibles ni bien ingresa al sistema, de manera tal de no requerir iniciar la aplicación de virtualización. O mejor, iniciar la máquina virtual asignada al momento de iniciar sesión y presentarla al usuario como si fuera el escritorio real. Al apagar la máquina virtual, el sistema debería volver a la pantalla de login.

Bien, independientemente de que sea una buena o mala solución utilizar VMs, el concepto es interesante.

¿Es posible? Veamos si se puede realizar en forma sencilla con VirtualBox…

1. Preparando el Host

1.1. Instalar con el sistema operativo, en este ejemplo será Debian GNU/Linux 5.0 Lenny con una instalación base. Ni “entorno de escritorio”, ni “sistema estándar”, ni nada de eso: la idea es mantenerlo lo más sencillo posible.

1.2. Una vez instalado, generalmente desactivo la instalación de paquetes recomendados para no cargar el sistema con paquetes prescindibles. Para ello:

# echo "APT::Install-Recommends \"false\";" >> /etc/apt/apt.conf

1.3. Sobre el S.O. instalar Xorg, LXDE para la administración y GDM como gestor de sesiones. En realidad, es posible utilizar Openbox o Fluxbox solamente y prescindir de LXDE, pero a fines didácticos dejaremos el entorno completo.

# aptitude install xorg lxde gdm

1.4. Sobre esto instalar VirtualBox OSE y los módulos requeridos, que serán cargados automáticamente al iniciar el sistema real.

# aptitude install virtualbox-ose virtualbox-ose-modules-`uname -r`
# echo vboxdrv >> /etc/modules

2. Creando las cuentas de usuario

2.1. Ahora es el turno de crear las cuentas de usuario que tendrán acceso a las máquinas virtuales. Para este ejemplo definiremos tres usuarios que llamaremos asterix, obelix y getafix (algún patrón conocido):

# adduser asterix
# adduser obelix
# adduser getafix

2.2. Es necesario añadir estos usuarios al grupo vboxusers para que puedan utilizar las máquinas virtuales. Es posible hacerlo en la creación, pasando un parámetro al comando adduser, pero así queda bien explícito:

# adduser asterix vboxusers
# adduser obelix vboxusers
# adduser getafix vboxusers

2.3. Reiniciar el equipo para que tome los cambios. Alternativamente es posible cargar vboxdrv y e iniciar GDM. En cualquier caso, al finalizar se verá la pantalla de inicio de sesión. Opcionalmente puede configurarse el gestor gráfico para que muestre la lista de usuarios disponibles (Menú Acciones / Configurar el gestor de entrada).

3. Creando la máquina virtual para un usuario

3.1. Ingresar bajo el nombre de usuario cuya VM se desea crear e iniciar VirtualBox.

3.2. Allí definir una máquina virtual de la manera tradicional, nombrándola igual que el usuario (asterix, en este ejemplo) y estableciendo la memoria a utilizar, el sistema operativo, el tamaño de disco, etc…

3.3. Una vez creada la VM, iniciarla y proceder a instalar el sistema operativo deseado mas las aplicaciones requeridas. Adicionalmente, instalar las “Aplicaciones del huésped” (guest tools) en la máquina virtual.

3.4. Al finalizar, apagar la VM correctamente y cerrar VirtualBox.

4. Estableciendo el inicio de la máquina virtual al inicio de sesión

4.1 Crear un archivo de texto llamado .xsession en el home del usuario, conteniendo lo siguiente:

#!/bin/sh
exec VBoxSDL -vm $USER -fullscreen

4.2. Cerrar la sesión de usuario y volver a iniciar sesión. La máquina virtual deberá iniciar automáticamente en pantalla completa.

4.3. Para salir / cerrar, apagar del sistema operativo virtual, o bien pulsar CtrlDer+H, o CtrlDer+Q. El sistema deberá cerrarse correctamente y volver a la pantalla de inicio de sesión.

5. Crear las máquinas para los restantes usuarios

… procediendo de manera análoga al caso anterior.

6. ¡Listo!

Ya tenemos una VM Jukebox en el equipo, o algo por el estilo. Ahora a por una buena taza de café.

I. Algunas notas adicionales

I.1. Es posible utilizar VirtualBox 2.1.4 (en vez de 1.6.6), añadiendo el repositorio testing en /etc/apt/sources.list e instalando los módulos apropiados mediante module-assistant.

I.2. Se puede cambiar la configuración de inicio de cada VM desde el mismo script en .xsession. Por ejemplo, si se desea iniciar la máquina virtual con 64 MB de ram, el script deberá contener

exec VBoxSDL -vm $USER -fullscreen -m 64

o para iniciar con una imagen ISO en la unidad de CD virtual:

exec VBoxSDL -vm $USER -fullscreen -cdrom ARCHIVO.ISO -boot d

I.3. Para cambiar la tecla con la cual se administra la máquina virtual, por ejemplo con la tecla WIN Derecha (en vez de con Ctrl Derecha), utilizar:

exec VBoxSDL -vm $USER -fullscreen -hostkey 312 0

donde el valor del parámetro hostkey define la tecla a utilizar. Ejecutando el comando VBoxSDL -detecthostkey en una terminal es posible obtener el parámetro correspondiente al conjunto de pulsaciones deseado.

Bueno, todo esto para ver si la idea era posible usar una máquina virtual como escritorio. Pues resulta que sí, con algunos comandos y tres líneas de código (4.1).
Creo que no me olvidé ningún paso, en caso contrario, me avisan.

Suerte y saludos!

Actualización 2010: Charly (un maestro!) me ha hecho saber que en Ubuntu 9.10 Karmic, el archivo .xsession es ignorado totalmente, por lo cual al iniciar sesión el usuario vuelve al escritorio de Gnome en vez de ver iniciar la máquina virtual. No tengo idea qué es lo que tuvo en mente la gente de Ubuntu con este extraño comportamiento, pero ya hay varios bugs reportados [398300, 459122, 465349] con algunos parches posibles.

Postgf*ck

Este marzo vino movido, de ahí la ausencia de posts en el blog, y abril pinta peor… El de hoy es breve y sencillo: un rant a PostgreSQL, o al sistema de archivos, o al LVM, o a la alineación de los planetas.

La cosa viene así. Una aplicación externa escrita en Java que está funcionando hace más de un año se queja y tira excepciones por doquier. Para quienes están acostumbrados a la verbosidad de las excepciones en Java, buscar la fuente del problema en 13651 líneas del log de excepciones para 73 errores, no es algo del otro mundo; en realidad todo se resumía a lo siguiente:

org.postgresql.util.PSQLException: ERROR: fecha fuera de rango para
timestamp

Ésa, estimado lector. Ésa es la fuente del problema; lo demás era cháchara adicional. Así que del log de excepciones pasamos al log del motor de base de datos, a ver que tenía para declarar.

Efectivamente el error se repetía varias veces. Lo bueno es que postgres añade al mensaje de error la consulta SQL efectuada para que uno vaya viendo que es lo que salió mal. Lo malo, ahora, era la consulta. Nunca había visto en detalle las consultas que esa aplicación le tiraba al servidor de base de datos, pues como ya viene compilado todo y lo único que hay que hacer es ponerlo en el servidor de aplicaciones, ni me había molestado.

Resulta que la consultita SQL es un select de 60 líneas de longitud, líneas completas de izquierda a derecha, una sucesión de caracteres que cubría una pantalla completa y otra media. Quince SELECT unidos, algunos con subconsultas. Es la primera vez que veo semejante montón de uniones y subconsultas, fechas y comparaciones. De espanto, la verdad. De más está decir que si el sistema anda rápido es todo gracias al planner de ejecución del motor de base de datos.

El paso siguiente fue hacer un volcado de la base de datos para mantener como resguardo, de forma tal de poder restaurar la base al estado original en caso de necesitar efectuar modificaciones. Así que con

$ pg_dump -Ft -b appdb > appdb-snapshot.tar

nos quedó un archivo de unos cincuentitántos megas listo para recuperar.

La parte que sigue es una tarea detectivesca de descomponer la consulta para ver en cual de todas las fechas fallaba. Aquí viene bien el algoritmo de búsqueda dicotómica: partimos la consulta al medio y ejecutamos la primera mitad en el servidor: si falla está allí, sino, en el resto de la consulta.

Primera partición… Falló… Bien, partimos la mitad que falla… Falló otra vez… y así hasta dar con la comparación:

postgres=> SELECT codigo, detalle, vencimiento FROM elementos
WHERE vencimiento <= '2009-03-30';
ERROR: fecha fuera de rango para timestamp

Humm… 2009-03-30 es una fecha válida, como así también 2009-04-01, y sin embargo el error es el mismo. Ahora, con 2009-03-24 y previos anda perfecto, pero no con los posteriores. Se vé que tiene un tema con el 24 de marzo, hasta ahí todo bien, pero de fechas siguientes ni hablar.

Y más allá de ése, no tira ningún otro error, eh. Extraño por demás.

¿Estarán los dañados índices de la tabla? Luego de reconstruir los índices el error era el mismo. No, no están dañados los índices.

¿Será la versión de PostgreSQL que tiene un bug? Restauramos el backup en dos equipos diferentes, uno con la misma versión y otro con una superior, y en ambos casos todo anduvo de maravillas. No, no es la versión de postgresql.

Restauramos el backup en el servidor de producción y ahí lo tienen andando.
¿Moraleja? todavía la estoy buscando…

Debian Lenny ya es estable

Breve y conciso: Debian GNU/Linux 5.0 “Lenny” ha sido publicada.

El Proyecto Debian se complace en anunciar la publicación oficial de la versión 5.0 de Debian GNU/Linux, nombre en clave “lenny”, tras 22 meses de desarrollo constante. Debian GNU/Linux es un sistema operativo libre que soporta un total de doce arquitecturas de procesador e incluye los entornos de escritorio KDE, GNOME, Xfce y LXDE.

El anuncio con las principales características, las notas de la versión, y por supuesto, el link de descarga (les recomiendo por bittorrent).

Lenny para Febrero

Original por Ryan Cartwright en Free Software MagazineCC: By-NC-SA 3.0

La gente del release team ha sugerido como fecha tentativa de publicación de la próxima versión de Debian, Debian GNU/Linux 5.0 “Lenny”, el 14 de febrero próximo. Como algunos recordarán, la publicación de Lenny estaba planeada para septiembre de 2008. De esta forma, Debian sigue fiel la política «we release when it’s ready», lo que me parece bastante acertado. Aunque como vemos, para muchos de nosotros esto no es ningún problema.

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress