Página > 3

Los backports y sus riesgos

 
Hunting Bears

Un backport es un paquete (o un conjunto de paquetes) que pertenecen a un estado superior de desarrollo. La idea general con los backports es incluir software más nuevo en una distribución estable, que por sus características tiende a quedarse con software viejo.

Es de esperarse entonces, que un software diseñado para un ambiente de interacciones con otros programas, no funcione de igual forma en un ambiente diferente (a menos que su interacción con los demás no dependa en gran medida del ambiente).

Esta premisa varía mucho dependiendo de la naturaleza del paquete y sus dependencias. Determinar cuan riesgoso es backportear un paquete se convierte entonces en una tarea de análisis minucioso.

Por otra parte, backportear un paquete que necesite funciones que no están presentes en el sistema, puede traer consecuencias tan sutiles como un “flickering” en un borde de ventana, o tan catastróficas como un “kernel panic”, sino se toman las previsiones necesarias, ni se hacen las pruebas correspondientes.

Existen algunas consideraciones que deben hacerse.

  • Si el paquete del estado superior tiene dependencias con librerías trascendentales que se encuentren en versiones superiores, – como por ejemplo python, perl, c++, entre otros -, entonces ese paquete debe ser modificado (y empaquetado) para que funcione con las librerías que se encuentran en versiones inferiores en el estado donde se quiere incluir el software.

ó

  • Incluir también las dependencias junto con el paquete del estado superior.

Un caso de backporting en debian es, por ejemplo, incluir el navegador web Iceweasel 7.0 (actualmente en Inestable) e incluirlo en un sistema estable. Para este ejemplo en particular, estamos manejando un software modular (al igual que muchas otras aplicaciones), es decir, no depende de librerías que cambien mucho entre estados, y las dependencias que necesita vienen con él, es decir, se puede “enchufar y desenchufar” sin muchos detalles de los cuales estar pendiente.

Por otro lado, actualmente gnome necesita GTK2 para la distribución Estable, y GTK3 en la distribución Inestable. En este caso, backportearlo a estable implica incluir GTK3 (con todas las posibles consecuencias) o modificar gnome para que funcione con GTK2 (implica deshabilitar alguna de sus funcionalidades nuevas, además de ser un trabajo titánico). Lo mismo ocurre con muchos otros paquetes que están ligados a librerías trascendentales, como por ejemplo: el kernel, apt, aplicaciones basadas en python o perl, entre otros.

A manera de referencia, en Canaima 3.0 se incluyeron programas de estados superiores que tenían un comportamiento modular y por tanto, mínimo riesgo de conflictos, específicamente:

  • Libreoffice
  • Cunaguaro
  • Guácharo
  • BURG

Backportear un kernel

Backportear un kernel implica muchos otros aspectos a los ya mencionados:

  • El kernel depende de muchas librerías fundamentales como perl, c++, y las reglas udev que deben estar presentes para que funcione. Perl, por ejemplo es una librería que usualmente varía entre los estados de desarrollo.
  • El kernel, aunque no es una librería de por si, muchos programas están diseñados para trabajar con versiones específicas de el. Por ejemplo, los módulos de kernel, los drivers de video, algunos drivers de sonido, están empaquetados para versiones específicas de kernel. Cambiar el kernel significa que esos drivers dejarán de funcionar, a menos que también se incluyan los paquetes de esos drivers específicos para el nuevo kernel.
  • El kernel es una de las partes más sensibles de una distribución. Utilizar un kernel que no haya pasado por todos los estados de desarrollo puede significar que no esté lo suficientemente probado. Un pequeño error desapercibido en el kernel puede generar errores catastróficos en la experiencia de usuario (p. ej. kernel panic).
  • No siempre es cierto que para soportar nuevos dispositivos es necesario incluir un nuevo kernel. Existen módulos de kernel genéricos que están ajustados a un patrón de diseño de dispositivos y no a un modelo en particular, permitiendo que el mismo sirva para una serie de dispositivos existentes (y por existir).

La recomendación final es, si piensas utilizar backports en tu distribución estable, ten mucho cuidado con lo que haces, podrías generar una inestabilidad incluso mayor a la existente en la distribución inestable.

Este Jueves 29/09/11, usa el hashtag #VenezuelaWantsRadiohead en twitter

 

Hola, compañeros amantes de la buena música. Te invitamos éste Jueves 29 de Septiembre a partir de las 6:00pm a formar parte de una campaña por twitter que tiene como propósito hacer Trending Topic el Hashtag #VenezuelaWantsRadiohead.

Si no te has enterado, Radiohead ha anunciado que estará de gira en el año 2012. Este es el momento de demostrarle al mundo (y a las empresas de entretenimiento de Venezuela) que hay bastantes seguidores de Radiohead en el país.

Lo único que debes hacer es escribir la palabra “#VenezuelaWantsRadiohead” en un tweet y ya estarás colaborando. También puedes hacer click en el link que está más abajo para hacerlo automáticamente. Recuerda, el 29/09/11 a partir de las 6:00pm, ¡Te esperamos!

¡Haz click aquí para twitearlo automáticamente!

Puedes acompañar tu tweet con alguna de estas imágenes:
 


Pequeño (click derecho, guardar como)
Grande (click derecho, guardar como)


Pequeño (click derecho, guardar como)
Grande (click derecho, guardar como)

Pequeño (click derecho, guardar como)
Grande (click derecho, guardar como)

Organizando tu música con MusicBrainz Picard

 
Hunting Bears

No hay nada peor para un adicto pseudoparanóico al orden que ver errores ortográficos, nombres incorrectos u omisiones importantes en la lista de reproducción de tu reproductor de música favorito. En consecuencia, organizar manualmente una colección de música de más de 1000 canciones puede convertirse en algo extremadamente tedioso, por no decir imposible. Es en estos casos cuando un organizador de música como MusicBrainz Picard es de gran ayuda.

Esta aplicación nos permite clasificar de forma fácil e inteligente los archivos de música a través de los metadatos o etiquetas que usualmente contienen información referida al autor, nombre de la pista, álbum, año, entre otros campos.

Instalarla es fácil en cualquiera de las distribuciones  GNU/Linux más populares (Debian, Ubuntu, Canaima). En una consola de root (Aplicaciones > Accesorios > Terminal de Root), ejecuta el siguiente comando:

aptitude install picard

Continuar Leyendo »

¿Cómo ser mejor Programador?

¿Alguna vez te haz preguntado que tan buen programador eres?

¿Quieres ser mejor programador?

Este excelente artículo de Aníbal Rojas te enseña como.

Creando un metapaquete ‘a la canaima’ con Canaima Desarrollador

 
Hunting Bears

Como usuario de alguna distribución GNU/Linux, seguramente has oído/leído acerca de los metapaquetes, esos paquetes que no pesan mucho pero que instalan un montón de cosas. Si bien el concepto detrás de un metapaquete es bastante sencillo, son piezas clave en la construcción organizada y engranaje de subsistemas dentro de una distribución GNU/Linux.

Por ejemplo, imagínate por un instante que queremos incorporar una nueva línea de ensamblaje de computadores a nuestra fábrica “Bien Barato Electrónica“. Si pudieras de alguna forma comprar la línea completa a través de un nombre o marca, en vez de comprar los tornillos, las tuercas, las cintas rodantes, los rodillos, los tubos, los brazos robóticos, los cables, etc. y armarla tu mismo, entonces eso sería instalar un metapaquete dentro de tu distribución “Bien Barato Electrónica“.

En definitiva, un metapaquete es un paquete que sirve para instalar otro conjunto de paquetes a través de sus dependencias. Generalmente está casi vacío (es decir, no se copian archivos al sistema cuando se instala); sin embargo, si está bien construido, siempre se incluye una pequeña documentación (changelog, copyright, entre otros).

Continuar Leyendo »