Escrito:
Guía de actualización de Debian 12 a Debian 13
Debian es un sistema operativo basado en Gnu/Linux enfocado en la estabilidad, y aprovechando que su próxima versión, Debian 13 (tixie) está cerca de su lanzamiento oficial, quiero resumir el proceso de actualización para dar el salto entre versiones de la forma más confiable que conozco enfocandome en computadores de escritorio, y teniendo en cuenta que parto de un Debian 12 (bookworm) “puro”.
El proceso oficial de actualización está bastante bien documentado en las notas de publicación de Debian. Sin embargo, dicha documentación está enfocada a servidores.
Realiza una copia de seguridad
Antes de realizar la actualización de cualquier sistema informático, es
muy recomendable hacer una copia de seguridad de toda la información que
no puedas perder. El proceso de actualización no modifica nada en el
directorio /home
. Sin embargo, algunos paquetes utilizan este
directorio para guardar su configuración.
Elimina paquetes obsoletos
Es una buena idea eliminar paquetes obsoletos antes de actualizar.
apt list '~o'
apt purge '~o'
Elimina paquetes que no son de Debian
El siguiente comando, permite buscar los paquetes que no vienen desde los repositorios de Debian. Sin embargo, no es 100% preciso.
apt list '?narrow(?installed, ?not(?origin(Debian)))'
Si tienes paquetes que no vienen desde los repositorios de Debian, debes tener presente que pueden ser eliminados durante la actualización debido a dependencias conflictivas. Además, si tienes versiones “más nuevas” no oficiales instaladas en bookworm, es muy probable que dichos paquetes causen problemas durante la actualización debido a conflictos de ficheros.
Limpia los archivos de configuración
Revisa los archivos de configuración antiguos y elimínelos si es necesario.
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
Comprueba el estado de los paquetes
Es recomendable comprobar primero el estado de los paquetes, y verificar que no tienen errores. El siguiente comando mostrará cualquier paquete con cualquier estado de error.
dpkg --audit
Además, si algún paquete esencial para la actualización está retenido, la actualización fallará.
apt-mark showhold
Si recompilaste un paquete localmente, y no le cambiaste el nombre, debes ponerlo en estado hold para evitar que se actualice.
apt-mark hold package_name
Configura tus repositorios
El fichero que apt utiliza para decidir de qué fuentes debe descargar
los paquetes ha sido modernizado, ahora se encuentra en
/etc/apt/sources.list.d/debian.sources
. Y su contenido para Debian 13
(trixie) es el siguiente:
Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb deb-src
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Si no deseas eliminar el fichero anterior, el cual se encuentra en
/etc/apt/sources.list
. Debes comprobar que apunte hacía “trixie” o
“estable”.
Debian Backports
Debian Backports le permite a los usuarios de Debian estable ejecutar paquetes más actualizados (con algunos compromisos en pruebas y seguridad). Los paquetes de bookworm-backports tienen versiones inferiores a su versión en trixie, por lo cual deberían actualizarse normalmente a trixie en la misma forma que versiones “puras” de los paquetes de bookworm durante la actualización.
Es recomendable añadir los backports de trixie una vez el sistema se haya actualizado.
Actualiza la lista de paquetes
Asegúrate de obtener la lista de paquetes disponibles para la nueva versión. Esto se hace ejecutando:
sudo apt update
Verifica que dispongas de almacenamiento para la actualización
Verifica que dispongas de suficiente espacio de almacenamiento para realizar la actualización. Esto se estima ejecutando:
apt -o APT::Get::Trivial-Only=true full-upgrade
En caso de que no tengas suficiente espacio para la actualización, apt te avisara con un mensaje como este:
E: You don't have enough free space in /var/cache/apt/archives/.
En esta situación, puedes limpiar la caché de paquetes ejecutando sudo apt clean
. O eliminar los paquetes olvidados ejecutando sudo apt autoremove --purge
. Entre otras formas de liberar espacio.
Actualización mínima del sistema
En algunos casos, realizar directamente la actualización completa puede eliminar un gran número de paquetes que posiblemente quieras conservar. Por lo tanto, es recomendable un proceso de actualización en dos partes: primero una actualización mínima para superar estos conflictos, y luego una actualización completa.
Para actualizar aquellos paquetes que pueden ser actualizados sin necesidad de eliminar o instalar ningún otro paquete, ejecuta:
sudo apt upgrade --without-new-pkgs
Actualización completa del sistema
El siguiente paso es realizar una actualización completa del sistema, instalando las versiones más recientes disponibles de todos los paquetes, y resolviendo todos los posibles cambios de dependencias entre paquetes de diferentes versiones. Si es necesario, apt instalará algunos paquetes nuevos, y eliminará cualquier paquete obsoleto.
sudo apt full-upgrade
Archivos de configuración
Durante la actualización, se te preguntará sobre las diferencias entre los archivos de configuración que se están instalando y las antiguas configuraciones que hayas modificado. Puede que prefieras conservar los archivos de configuración existentes y anotarlos para fusionar los cambios más adelante.
Reinicia el sistema
Acabamos entre otras cosas, de hacer una actualización del kernel, por lo que será necesario reiniciar.
sudo reboot
Depuración de paquetes eliminados
El siguiente comando muestra una lista de todos los paquetes eliminados que pueden tener archivos de configuración en el sistema (si los hay):
sudo apt list '~c'
Los paquetes pueden eliminarse utilizando apt purge. Suponiendo que desea purgar todos ellos de una sola vez, puede utilizar el siguiente comando:
sudo apt purge '~c"
Depuración de paquetes obsoletos
Lista los paquetes obsoletos y, opcionalmente, elimínelos.
sudo apt list '~o'
sudo apt purge '~o"
Depuración de paquetes sobrantes
Para finalizar, elimine los paquetes sobrantes que no estén explícitamente declarados obsoletos. Considere eliminar manualmente un paquete a la vez si no está seguro.
sudo apt autoremove --purge
Es cierto que es un proceso largo, pero merece la pena por precaución. Especialmente si está actualizando un computador con Debian usado para entornos en los cuales sea necesario minimizar las interrupciones.
Referencias: