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
Hola. No hay que dar prioridad también a los backports cuando vamos a instalar un paquete desde allí? Muy bueno el aporte !!!
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: