Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Encontrar el equilibrio entre estabilidad y nuevas funcionalidades en Debian: instalar paquetes testing y unstable

Imago voragine.net
[actualizado el ]

Debian es una distribución conocida por su estabilidad. Pero la estabilidad tiene un precio: no estar al día, utilizar programas que no tienen las últimas funcionalidades porque no están en su última versión; incluso no poder usar un programa en absoluto porque necesita versiones de otros programas para ser instalado (dependencias en el argot Linux) que no están disponibles.

Todo esto es así en la versión stable de Debian. En cambio en las ramas testing, unstable o mucho más en la experimental, se pueden encontrar versiones más recientes de todos los programas, incluso las últimas versiones.

Los entornos en producción no se pueden permitir funcionar con las versiones testing o unstable de Debian: solo el nombre lo desaconseja. Sin embargo existen maneras de instalar determinados paquetes testing, unstable o experimental en un Debian stable.

Añadiendo los repositorios testing, unstable y experimental en Debian stable

Primero hay que añadir los repositorios al archivo /etc/apt/sources.list:

# Testing repository - main, contrib and non-free branches
deb http://http.us.debian.org/debian testing main non-free contrib
deb-src http://http.us.debian.org/debian testing main non-free contrib

# Testing security updates repository
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free

# Unstable repo main, contrib and non-free branches, no security updates here
deb http://http.us.debian.org/debian unstable main non-free contrib
deb-src http://http.us.debian.org/debian unstable main non-free contrib

A continuación es recomendable crear un archivo con las reglas de jerarquía de repositorios para que el sistema no instale por omisión los paquetes del repositorio testing o unstable. Podemos alojar este archivo en /etc/apt/preferences.d/:

Package: *
Pin: release l=Debian-Security
Pin-Priority: 1000

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=unstable
Pin-Priority: 600

Por último hay que actualizar el listado de paquetes conforme a las nuevas reglas:

apt-get update

Cómo conocer la versión de un paquete en cada repositorio

Para conocer la versión de un paquete en los distintos repositorios:

apt-cache policy apache2
apache2:
  Instalados: 2.4.10-10+deb8u7
  Candidato:  2.4.10-10+deb8u7
  Tabla de versión:
     2.4.23-8 0
        600 http://ftp.fr.debian.org/debian/ unstable/main amd64 Packages
     2.4.23-7 0
        650 http://ftp.fr.debian.org/debian/ testing/main amd64 Packages
 *** 2.4.10-10+deb8u7 0
        700 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.10-10+deb8u5 0
       1000 http://security.debian.org/ jessie/updates/main amd64 Packages

Cómo instalar paquetes de los repositorios testing o unstable

Hay dos maneras:

apt-get install apache2/testing

Esta opción instalará el paquete apache2 del repositorio testing y sus dependencias del repositorio stable.

apt-get -t testing install apache2

Esta opción instalará el paquete apache2 y sus dependencias del repositorio testing.

La primera manera puede dar problemas de dependencias.

Antes de recurrir a los repositorios testing y unstable: probar suerte con los backports

Instalar paquetes testing o unstable en un sistema puede causar problemas. Eso hay que saberlo. Es un último recurso que debería ser probado en un entorno en desarrollo antes de aplicarlo en un sistema en producción.

Antes de recurrir a los repositorios testing o unstable se puede probar suerte con los backports de Debian. Los backports son paquetes en versiones testing que han sido compilados para funcionar en una versión stable de Debian, con lo que no darán problemas de dependencias ni romperán nada en el sistema. Si la versión del paquete que queremos instalar está en los backports, nos ahorraremos problemas.

Para instalar paquetes usando los backports añadimos los repositorios correspondientes a /etc/apt/sources.list:

# backports
deb http://ftp.debian.org/debian jessie-backports main contrib non-free

Y actualizar listado de paquetes:

apt-get update

Para instalar un paquete de los backports se usa el mismo procedimiento que para testing o unstable:

apt-cache policy linux-image-amd64
linux-image-amd64:
  Instalados: 3.16+63
  Candidato:  3.16+63
  Tabla de versión:
     4.8+76 0
        650 http://ftp.fr.debian.org/debian/ testing/main amd64 Packages
        600 http://ftp.fr.debian.org/debian/ unstable/main amd64 Packages
     4.7+75~bpo8+1 0
        100 http://ftp.debian.org/debian/ jessie-backports/main amd64 Packages
 *** 3.16+63 0
        700 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status
apt-get -t jessie-backports install apache2

4 comentarios

    • Por dante •

    Hola. No hay que dar prioridad también a los backports cuando vamos a instalar un paquete desde allí? Muy bueno el aporte !!!

    1. Hola dante,

      para usar los backports no hace falta definir la prioridad en el archivo que creado en /etc/apt/preferences.d/. Basta definir la fuente de paquetes con el modificador -t cuando se usa apt:

      apt -t jessie-backports install nombre-deñ-paquete
×

Responder al comentario de skotperez

*
*

 

2 trackbacks