Instalación de un repositorio debian con reprepro

Cuando se pega mucho (pero mucho, mucho) con debian, lleva un momento en que empieza a hacer o modificar paquetes y es entonces cuando el uso de un repositorio personal es una buena idea. Hace unos años, crear y sobre todo mantener un repositorio de paquetes de debian era doloroso por los scripts que había que ejecutar, puesto que funcionaban una de cada dos veces y estaban llenos de parches. Afortunidamente han surgido unos cuantos programas que facilitan mucho la tarea de instalación y sobre todo de mantenimiento de los repositorios y, dentro de todos ellos, mi favorito es reprepro.

No es excesivamente pesado, se maneja completamente desde la línea de comandos y el cifrado de los ficheros que contienen las sumas MD5 (los ficheros Release) es transparente. También, la configuración de cada repositorio es sencilla y mediante ficheros de texto y toda la información de los paquetes se almacen en una base de datos Berkeley, por lo que no es necesarios ningún SGBD.

Tener los repositorios disponibles para un sólo equipo no es muy inteligente así que se suelen instalar bajo servidores web o ftp. Los repositorios de mi red están en ranas, mi servidor raspberry NAS, así que por motivos de rendimiento y recursos preferí instalar un servidor pure-ftpd antes que un apache2. Como ambos pillan fuera del ámbito de esta guía, os dejo los enlaces de configuración de ambos:

Instalación

Instalamos conjuntamente reprepro y pure-ftpd.

pure-ftpd

Configuramos pure-ftp según se explica en los enlaces superiores y configuramos unas cuantas cosas más.

  • crear usuario ftp con directorio /media/nas/ftp/.

  • asignar permisos a mi usuario en el directorio de los repositorios.

reprepro

Toda la configuración y gestión del repositorio con reprepro se realiza como un usuario sin privilegios, salvo el de escribir en el directorio de los repositorios.

Dada la versatilidad de reprepro puedo crear tantos repositorios como quiera. Si, por ejemplo, quiero tener los repositorios de cada proyecto organizados, puedo crear dentro de /media/nas/ftp un directorio, proy01, que contenga los repos proy01, partners y apps. Para el segundo proyecto crearía proy02 con los repos proy02 y extras y así… Cada proyecto con sus paquetes y, probablemente, un repo general con debian, con jessie, wheezy y sid dentro.

  • debemos crear una llave gpg de 2048 bits con que firmar los paquetes.

  • exportamos la parte pública de la llave a un fichero asc.

  • creamos el fichero de configuración del repo nimhix.

Las líneas más jugosas son Architectures, donde indicamos que arquitecturas están soportadas, Components, donde se enumeran las ramas del repo y SignWith, donde especificamos la clave pública que se usará para firmar los paquetes. Codename es el nombre en clave del repositorio y si, en este caso viene de la serie Justified.

  • creamos el repositorio y los enlaces. Si estamos en el directorio principal del repositorio (donde se ve el directorio conf), no es necesario pasar el argumento -b.

Gestionando paquetes

Todos los ejemplos se ejecutan desde el directorio principal (al mismo nivel que conf). De no ser así, el argumento -b es tu amigo. :)

Listar paquetes del repositorio

Añadir nuevos paquetes (o versiones actualizadas)

Borrar paquetes

Y con esto ya tenemos cuantos repositorios necesitemos. Actualmente es ranas quien sirve los paquetes en mi red local, así que el gasto de recursos está bastante contenido (con pure-ftpd). Si, además, configuras samba para “tirar” los paquetes en el directorio del ftp, lo tienes todo más a mano.

 

Firefox is back

Después de casi diez años usando la versión debianizada del mejor navegador que ha surcado internet, Mozilla Firefox, acabo de ver en los paquetes de debian que ya está de vuelta en los repositorios, al menos en la rama testing (si, lo sé pero es uno de esos vicios confesables…). Una gran noticia para los que no sabemos movernos sin esta gran pieza de software, ya sea en su estado normal o encebollado.

Han marcado como transitional a iceweasel y basta con hacer una actualización de paquetes para que se instale limpiamente, con los 450 MB restantes, por supuesto. Ha sido un detalle que hayan hecho coincidir el cambio con la mayor fiesta cristiana fuera del mes de diciembre y así nos ha pillado, por sorpresa y cara de susto.

Personalmente estoy encantado de que, por fin, haya vuelto la cordura y podamos disponer de Firefox sin trucos para evitar demandas legales absurdas porque, a pesar de intentar utilizar otros navegadores, ninguno
me convencía y no tardaba en volver a la comadreja de los hielos.

 

LinuxBBQ: barbacoa linuxera

Linuxbbq

Legendaria la distro que se han sacado de la manga los creadores de LinuxBBQ. Una Debian SID minimalista que en su edición LinuxBBQ cream cuenta con la friolera de 76 gestores de ventanas distintos incluidos, todo empaquetado en una ISO de unos 500Mb, ideal para llevar en un pendrive o para grabar en uno de esos CDs que ya creías obsoletos ante la avalancha de imágenes de giga y pico que reina entre las distribuciones linuxeras hoy día.

El leit motif de LinuxBBQ no podía ser otro que “Roast your own”: coge el sistema base, añade lo que necesites y genera una iso para compartir con el resto de usuarios. Siguiendo esta filosofía, la distribución cuenta con un número record de más de 100 ediciones diferentes. Sobra decir que el concepto que esconde su nombre hace referencia a la esencia misma del software libre, el espíritu colaborativo que se genera en torno a un interés común (ya sea carnaza, código o cultura :P).

Si estás pensando en dejar de lado al gigante tragarecursos que ocupa tu máquina por una opción más liviana y personalizada no se me ocurre mejor forma de empezar. Aquí tienes una galería con capturas de pantalla de los 76 gestores de ventanas incluidos en LinuxBBQ cream. Y aquí el foro de la distro, donde la gente comparte sus creaciones.

Sino, te aseguro que la estética ochentera de la web merece que al menos te des una vuelta por el sitio.

¡Buen provecho!