Category Archives: Debian

Cómo: Gnome Shell Extensions en Debian


Mi escritorio

Lamentablemente no he tenido el tiempo suficiente para hablar de Gnome Shell como quisiera o debería, lo adopté desde los primeros días en que se encontraba en experimental y tanto mi laptop del trabajo como la personal corren este entorno de escritorio sin ningún problema.

Así que me aproximaré solamente por aquellas partes que considere un tanto relevantes.

Continue reading

Distorsión en audio mp3 con flash

Hace un mes aproximadamente noté una distorsión terrible al ejecutar archivos mp3 con un cliente flash en la web, obviamente que lo asocié con el plugin para el navegador y probé forzando una versión anterior a la inestable, como no funcionó probé con las librerías de audio e incluso con pulse mismo. Lamentablemente no había podido encontrar el origen del problema hasta que hace unos días volví a buscar en Google harto de no poder sintonizar Grooveshark al estar compilando en Gentoo >.<

El problema se encuentra en una actualización de glibc, o libc6 en Debian, y sólo para 64 bits, que se origina en un cambio en la implementación de memcpy y que expone un bug en el plugin entregado por Adobe. La solución vino de las manos del mismo Torvalds y consiste en crear una librería que devuelva el funcionamiento original de memcpy.

Continue reading

Cómo: Remover paquetes huérfanos (sin usar) en Debian y derivados

Debido al árbol de dependencias de paquetes es muy común encontrar que al desinstalar un paquete sigamos manteniendo sus librerías ocupando espacio en nuestra instalación.

Una forma muy simple de deshacernos de ellos es mediante deborphan:
aptitude install deborphan

Ahora podemos listar dichos paquetes mediante el comando deborphan, una vez que estemos seguros de que no se quiere sobrepasar procedemos a removerlos:
aptitude purge $(deborphan)

Puppet (Segunda parte: Manifiesto y Módulos)

Antes de completar el ejercicio vamos a definir dos conceptos principales en Puppet: los módulos y manifiestos.

Manifiesto: Puppet es  un sistema declarativo, en donde las operaciones son aplicadas y no ejecutadas, estas operaciones son definidas en lenguage puppet dentro de archivos de texto denominados manifiestos. Por cada servidor puppet existe un manifiesto central, definido en /etc/puppet/manifests/site.pp, donde se configuran todos los sitios (clientes), mediante un nodo para cada uno de ellos.

Módulo: Un módulo es una colección de recursos, clases, archivos, definiciones y plantillas fácilmente redistribuible usado para configurar Dnsmasq o Apache o un sitio de reportes o una aplicación en Python determinada.

Cada uno de estos se escribe en lenguaje Puppet, un lenguaje declarativo bastante sencillo basado en Ruby en el cuál podemos definir toda la implementación para nuestros clientes. Les recomiendo ampliamente que se den una vuelta por la documentación oficial sobre este lenguaje.

Vamos a definir nuestro módulo para Dnsmasq, que incluirá como recursos al paquete, el archivo dnsmasq.conf y el servicio dnsmasq.

Continue reading

Puppet (Primera parte: Instalación)

Uno de los proyectos encargados en mi nuevo empleo consiste en la administración y mantenimiento de clústers para simulaciones de ingeniería, cada uno de los componentes del clúster mantiene comunicación con un servidor que aloja las licencias de los paquetes utilizados, así como los detalles de las cuentas de usuarios. Por supuesto que administrar a todos los equipos individualmente es una tarea exhaustiva y propensa a errores, independientemente de los instrumentos de decidamos utilizar o crear, así que como primer paso me encargaron buscar una herramienta que permitiera mantener a los servidores sin necesidad de realizar la misma tarea repetitivamente, por ejemplo: tener que modificar la dirección IP del servidor de autenticación en PAM o instalar un nuevo paquete en todos los equipos.

Para mi fortuna existe Puppet, un software que debería ser la punta de lanza de los administradores y arquitectos de servidores. Éste nos permite manejar varios equipos desde un nodo central mediante definiciones de módulos en archivos de configuración, que pueden ser paquetes, archivos, servicios, etc, independientemente de la distribución. Obviamente, homogenizar la distribución a utilizar es preferible para mantener las mismas versiones y evitar errores en implementaciones de las ramas.

En esta serie vamos a utilizar Puppet para configurar Dnsmasq actuando como servidor DNS y DHCP detrás de diferentes redes, como un ejercicio para adentrarnos en el uso de esta herramienta, utilizando Debian tanto para el cliente como el servidor.

En esta primera parte instalaremos y configuraremos clientes y servidor.

Continue reading

Cómo: KDE SC 4.6 en Debian

KDE SC 4.6

Sufres de versionitis y eres usuario de KDE? Para tu fortuna ayer fue subida la nueva versión 4.6 SC para la rama inestable de la distribución a los repositorios extraoficiales KDE-QT.

Para poder instalarlo sólo es necesario agregar los repositorios correspondientes a /etc/apt/sources.list

deb http://qt-kde.debian.net/debian experimental-snapshots main

deb-src http://qt-kde.debian.net/debian experimental-snapshots main
Y además, como se mencionó, tener activados los repositorios para la rama inestable
Atención: Esto no es un backport, así que si quieres instalarlo en stable estás completamente solo.

También es necesario instalar la firma de comprobación de paquetes para este repositorio

aptitude update
aptitude install pkg-kde-archive-keyring

Ahora, si ya tienes instalado KDE 4.4 (versión actual de los repositorios oficiales de Debian) sólo tienes que actualizar los paquetes proporcionados por KDE-QT

apt-get -t experimental-snapshots dist-upgrade

Si aún no tienes KDE puedes hacerlo con el metapaquete correspondiente

apt-get -t experimental-snapshots install kde-standard

Para esta versión se debe usar plasma-widget-networkmanagement en lugar de network-manager-kde debido a la incompatibilidad de versiones, así que procedemos a instalarlo

aptitude install plasma-widget-networkmanagement

Con eso tenemos el nuevo KDE, que por cierto me ha dejado un buen sabor de boca.

Emacs Snapshot en Debian

Logo de Emacs

Para aquellos a los que Emacs se les está convirtiendo en su Sistema Operativo y GNU/Linux en su administrador de dispositivos, como su servilleta, les recomiendo instalar la versión directamente compilada del CVS mantenida por Julien Danjou para obtener todas las características más recientes sin tener que esperar a que los repositorios de Debian proporcionen dichas actualizaciones, especialmente por el hecho de que acabamos de salir del congelamiento y ciertas cosas podrán tomar bastante tiempo en aparecer en los repositorios unstable.

Esto tampoco significa que la versión snapshot esté llena de bugs, EMACS tiene a su favor ser uno de los editores más antiguos que aún se encuentra en desarrollo, yo he estado corriendo snapshot por una semana y funciona excelente.

  1. Añadan los repositorios en su sources.list
    deb http://emacs.naquadah.org/ unstable/
    deb-src http://emacs.naquadah.org/ unstable/
  2. Importen la llave GPG para el repositorio
    wget -q -O - http://emacs.naquadah.org/key.gpg | sudo apt-key add -
  3. Listo para instalar, ejecutamos
    # aptitude update && aptitude install emacs-snapshot emacs-snapshot-nox

    Donde emacs-snapshot-nox es la versión que se ejecuta sin servidor X, y que por lo tanto depende de ustedes instalarlo o no.

  4. Ahora para que al ejecutar emacs estemos realmente corriendo la versión snapshot, actualizaremos el proveedor del paquete
    #update-alternatives --config emacs

    Dependiendo de los paquetes instalados más o menos verán lo siguiente:

    Existen 2 opcioens para la alternativa emacs (que provee /usr/bin/emacs).
    
      Selección   Ruta                     Prioridad  Estado
    ------------------------------------------------------------
    * 0            /usr/bin/emacs23-x        26        modo automático
      1            /usr/bin/emacs-snapshot   23        modo manual
      2            /usr/bin/emacs23-x        26        modo manual
    
    Pulse  para mantener el valor por omisión [*] o pulse un número de selección: 1
    update-alternatives: utilizando /usr/bin/emacs-snapshot para proveer /usr/bin/emacs (emacs) en modo manual.

(Yo también vi ese bug)

Por fin: Squeeze!

Un año han tardado en lanzar la nueva versión estable de Debian, varios meses de congelamiento que ya me tenían loco!

Dent

Dent oficial del lanzamiento

Pueden leer el anuncio oficial y de paso darse una vuelta en el sitio completamente rediseñado.

Lo primero que haré es probar el kernel de FreeBSD 🙂

Gracias a todos los que contribuyeron a esto.

Cumpleaños 17 de Debian


Pastel

Como seguro ya sabrán Debian celebra su XVII aniversario el día de hoy. Podemos enumerar sus logros en

  • 14 versiones liberadas
  • 11 conferencias
  • 12 arquitecturas soportadas
  • 117 mantenedores
  • 873 desarrolladores
  • Más de 40 000 paquetes

En esta ocasión incluso pueden participar un poco más allá haciendo llegar un agradecimiento especial, escrito por ustedes, a un equipo o mantenedor en especial si así lo prefieren, navegando a http://thank.debian.net/.

Welcome to Debian Appreciation Day. Our aim is to allow the many people that use and enjoy Debian in their lives, to thank those that make it happen.

Y como seguro ya sabrán esta es mi distribución de todos los días, así que muchas gracias a todos los que hacen posible Debian