Activar Backports en Debian 12

Debian Backports es un repositorio que contiene algunos paquetes selectos tomados de una versión en desarrollo de Debian, que han sido recompilados para que se puedan instalar en una versión anterior de Debian.

El problema de Debian (si es que se le puede llamar problema), es que cuando va a salir una nueva versión, congelan los repositorios. Esto quiere decir que a partir de ese momento, si alguno de los programas que hay en el repositorio recibe una actualización significativa, no va a actualizarse la versión del programa que hay en el repositorio.

Imagina que a los dos meses de salir una versión de Debian se publica la siguiente versión de GIMP o de Inkscape. Por muchas novedades que veas en internet, vas a tardar un par de años en verlas en Debian, porque el paquete del repositorio continuará siendo una versión más antigua. Cuando haces apt upgrade, todo lo que instalas son correcciones de fallos y mejoras de seguridad.

Algunos paquetes pueden optar a ser adaptados para que se pueda instalar una versión más reciente. A modo de ejemplo, si bien en Debian 12 normal, la versión de LibreOffice es la 7.4, la que hay en Backports es, en el momento de escribir esto, la 24.8. Hay una diferencia de dos años entre una versión y otra.

Para activar estos repositorios, si tienes en tu máquina Synaptic, puedes abrirlo, y luego ir al menú Configuración > Repositorios. Pulsa sobre el botón Nuevo (New) para crear un nuevo repositorio, y en la configuración del mismo introduce lo siguiente en los campos:

  • Deja el desplegable como Binario (deb)
  • URI: http://deb.debian.org/debian
  • Distribución: bookworm-backports
  • Sección(es): main
Captura de pantalla de Synaptic
Cómo configurar Backports desde Synaptic

Luego pulsa OK para guardar los cambios, y recarga los repositorios cuando te invite a hacerlo.

Si prefieres hacerlo por la terminal, crea un archivo en /etc/apt/sources.list.d con un nombre que termine en .list con un editor de textos. Por ejemplo, crea un archivo llamado /etc/apt/sources.list.d/bookworm-backports.list. Dentro de ese archivo, pon lo siguiente:

deb http://deb.debian.org/debian bookworm-backports main

Después de guardar los cambios, ejecuta apt update para refrescar los repositorios.

Para instalar un paquete, ten en cuenta que los paquetes de Backports tienen una prioridad menor que los del sistema central. Eso significa que, ante la duda, Debian instalará siempre el paquete que hay en el repositorio principal de Debian antes que el que hay en el repositorio de Backports.

Si quieres instalar un paquete mediante Backports, tendrás que pedirlo explícitamente en el momento de instalarlo. Vamos a poner un ejemplo con Emacs, ya que es un paquete que está en Bookworm-Backports. Si únicamente hicieses apt install emacs, instalarías la versión 28.2, que es la que hay en Bookworm.

Captura de pantalla de Emacs

Para instalar la versión de Bookworm-Backports, que es la 29.4 ahora mismo, cuando uses APT ponle también el parámetro -t bookworm-backports. Por ejemplo, en este caso instalaría Emacs como:

apt install -t bookworm-backports emacs

En teoría, también puedes ponerle al final del nombre del paquete la terminación /bookworm-backports. Sin embargo, he apreciado que a veces esto muestra mensajes de error, porque si ese paquete depende de otros que proceden de Backports, no los va a instalar.

Una vez haya hecho eso, Emacs 29.4 estará instalado en el sistema.

Captura de pantalla de Emacs

Debian Backports: qué es y cómo activarlo en Debian 11

En este post te cuento qué es debian-backports y cómo activarlo, para poder instalar versiones más modernas de algunos paquetes que trae Debian 11.

Actualización (21-Oct-2024): si utilizas Debian 12, tal vez prefieras leer el artículo actualizado para Debian Bookworm para usar el nombre correcto del repositorio APT. Las instrucciones de esta entrada de blog podrían no estar actualizadas.

Probablemente te habrás dado cuenta que el software que viene en el gestor de paquetes de Debian es un poco más antiguo que el que se puede encontrar en otras distribuciones. Para paquetes que se actualizan con frecuencia, tal vez te sorprenda descubrir que algunos de estos paquetes en Debian traen versiones un poco más antiguas de lo normal. Existe una razón por la que esto es así.

En Debian, prima más la estabilidad de los paquetes que la frecuencia de actualizaciones. Es por ello que en el ciclo de vida de una versión de Debian, una de las primeras etapas es la congelación del repositorio. Esto ocurre meses antes de que salga una versión de Debian. En ese momento, el repositorio de la siguiente versión de Debian deja de aceptar nuevas versiones de los paquetes que porta, y empieza a aceptar solamente correcciones de errores. La idea es poder garantizar que el software que trae el repositorio por lo menos es robusto y tiene sus errores corregidos.

Sin embargo, en algunas ocasiones esto puede ser un problema. Por ejemplo, puede que nuestro ordenador tenga Debian y queramos utilizar una versión reciente de un SDK o de un programa. O puede que por una necesidad de ciberseguridad tengamos que actualizar a una versión de Apache o NGINX más reciente que la que se porta en el repositorio. Si la versión que hay en los repositorios no es lo suficientemente reciente, podemos tirar de debian-backports, suponiendo que el paquete esté disponible en primer lugar.

En definitiva, debian-backports es una forma de traerse desde la rama testing algunos paquetes para que puedan estar disponibles de forma segura en versiones anteriores de Debian. Por ejemplo, traerse paquetes de la rama testing para poderlos usar de forma segura en Debian 11 pero sin cambiar todo el sistema operativo a testing o a sid, algo que puede ser beneficioso en servidores.

Cómo usar debian-backports en Debian 11

Para utilizar debian-backports, lo primero que tendrás que hacer es agregar el repositorio a tu ordenador. Si bien puedes modificar el archivo /etc/apt/sources.list, mi recomendación aquí es crear un archivo nuevo que termine en .list en el subdirectorio /etc/apt/sources.list.d, por ejemplo, /etc/apt/sources.list.d/backports.list. Dentro, añadirás lo siguiente al final del archivo:

deb http://deb.debian.org/debian bullseye-backports main

Este es un paso que puedes dar con un editor de textos como Vim o Nano. Ten en cuenta que en este caso estamos activando el repositorio bullseye-backports porque se trata de Debian 11.

A partir de ahora, podremos instalar paquetes que se porten en el repositorio de backports. No todos los paquetes están en backports, pero sí hay unos cuantos disponibles. Puedes ver la lista completa en packages.debian.org.

Por ejemplo, imaginemos que queremos actualizar el servidor Redis por uno más reciente que el que trae Debian 11 en sus repositorios normales (la versión 6.0.16). Para instalar un paquete desde backports, tendremos que pedirle a apt que use el repositorio bullseye-backports mediante la opción -t:

sudo apt install -t bullseye-backports redis

Si ya teníamos Redis instalado en el sistema, APT lo interpretará como una actualización de software igualmente y se bajará la nueva versión. En este momento, por ejemplo, bullseye-backports porta la versión 7.0.5.

Un detalle importante a tener en cuenta es que pese a que los paquetes de debian-backports han sido testeados para comprobar que funcionan en Debian 11, igualmente se trata de paquetes procedentes de la rama testing, por lo que puede que no tengan tanta estabilidad y confianza como los paquetes congelados que sí trae Debian.