Es la primera vez que cambio de versión en Debian, pensé que tendría que reinstalar todo desde cero como hacía en Ubuntu, pero he descubierto que retocando el sources.list y teniendo en cuenta un par de cosas, puedo actualizar en un momento sin tener que empezar a configurar todo de nuevo.
Activa el usuario root
Mucha gente piensa que no es buena idea tener activo al usuario root, ya que si este es objeto de un ataque de fuerza bruta, los atacantes tienen un punto de entrada conocido (que es el nombre de usuario, en este caso root) que pueden intentar explotar, tan solo deberán averiguar la contraseña.
Si tienes tu sistema a la última y utilizas una buena contraseña, va a ser bastante difícil que puedan acceder a tu sistema.
Tener activo al usuario root me a librado de más de un problema serio, unas veces por manazas y otras por fallos del sistema, como en este caso, al actualizar de Debian 12 a Debian 13.
Pues si, con todo lo estable que es Debian, esta mañana al actualizar mi portátil se ha quedado KO, gracias a que desde el Grub he podido entrar en modo recovery y el usuario de root estaba activo, he podido terminar la actualización.
Para activar el usuario root en un terminal escribe:
sudo passwd root
Nos pedirá una contraseña y una confirmación de la misma.
lenovo@apolo:~$ sudo passwd root
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
passwd: contraseña actualizada correctamente
lenovo@apolo:~$
Con esto ya tenemos activo al usuario root
Desactiva al usuario root
Si lo deseas, cuando termines de actualizar a Debian 13, puedes desactivar al usuario root.
Puede hacerse de varias maneras, las mas comunes son:
lenovo@apolo:~$ sudo passwd -l root
o tambien lo puedes hacer con:
lenovo@apolo:~$ sudo passwd -dl root
Ambos comandos logran el mismo objetivo de bloquear la cuenta, pero la opción -dl
es un poco más «agresiva».
Y la diferencia de ambos comandos es:
sudo passwd -l root
: La opción-l
(de lock, bloquear) añade un carácter especial al hash de la contraseña en el archivo/etc/shadow
. Esto hace que el hash sea inválido y, por lo tanto, impide que la cuenta se use para iniciar sesión. Sin embargo, el hash de la contraseña original aún permanece ahí.sudo passwd -d root
: La opción-d
(de delete, eliminar) borra por completo la contraseña de la cuenta, dejando el campo en el archivo/etc/shadow
vacío. Esto también inhabilita la cuenta para iniciar sesión con contraseña.
Al usar sudo passwd -dl root
, estás combinando ambas acciones: eliminas la contraseña y luego bloqueas la cuenta. En la práctica, para la mayoría de los usuarios y sistemas, el comando sudo passwd -l root
es suficiente y el más común para inhabilitar el inicio de sesión directo de root
.
Si necesitas reactivar la cuenta en el futuro, puedes hacerlo con el comando sudo passwd root
¡Comencemos!
La mejor forma de actualizar tu sistema Debian 12 a una nueva versión sin reinstalar es modificar el archivo sources.list
.
Es un proceso que se hace en la terminal y se puede dividir en tres pasos principales.
1. Actualizar la lista de paquetes y los paquetes actuales
Primero, asegúrate de que tu sistema está completamente actualizado en la versión actual (Debian 12). Abre una terminal y ejecuta estos comandos:
lenovo@apolo:~$ sudo apt update
Obj:1 https://dl.winehq.org/wine-builds/debian bookworm InRelease
Des:2 https://ftp.debian.org/debian bookworm InRelease [151 kB]
Des:3 https://security.debian.org/debian-security bookworm-security InRelease [48,0 kB]
Des:4 https://debian.redimadrid.es/debian bookworm InRelease [151 kB]
Des:5 https://ftp.debian.org/debian bookworm-updates InRelease [55,4 kB]
Des:6 https://debian.uvigo.es/debian bookworm InRelease [151 kB]
Des:7 https://ftp.debian.org/debian bookworm-proposed-updates InRelease [60,6 kB]
Des:8 https://ftp.debian.org/debian bookworm-backports InRelease [59,4 kB]
Des:9 https://packages.mozilla.org/apt mozilla InRelease [1.524 B]
Des:10 https://repo.jellyfin.org/debian bookworm InRelease [10,6 kB]
Des:11 https://ftp.debian.org/debian bookworm-backports/main amd64 Packages.diff/Index [63,3 kB]
Ign:11 https://ftp.debian.org/debian bookworm-backports/main amd64 Packages.diff/Index
Des:12 https://ftp.debian.org/debian bookworm-backports/main i386 Packages.diff/Index [63,3 kB]
Ign:12 https://ftp.debian.org/debian bookworm-backports/main i386 Packages.diff/Index
Des:13 https://ftp.debian.org/debian bookworm-backports/main Translation-en.diff/Index [63,3 kB]
Ign:13 https://ftp.debian.org/debian bookworm-backports/main Translation-en.diff/Index
Des:14 https://ftp.debian.org/debian bookworm-backports/main amd64 Packages [295 kB]
Des:15 https://ftp.debian.org/debian bookworm-backports/main i386 Packages [290 kB]
Des:16 https://ftp.debian.org/debian bookworm-backports/main Translation-en [250 kB]
Des:17 https://www.deb-multimedia.org bookworm InRelease [16,5 kB]
Obj:18 https://repository.mullvad.net/deb/stable stable InRelease
Des:19 https://packages.mozilla.org/apt mozilla/main all Packages [5.344 kB]
Des:20 https://www.deb-multimedia.org bookworm/main i386 Packages [132 kB]
Des:21 https://www.deb-multimedia.org bookworm/main amd64 Packages [133 kB]
Des:22 https://packages.mozilla.org/apt mozilla/main amd64 Packages [101 kB]
Des:23 https://packages.mozilla.org/apt mozilla/main i386 Packages [95,2 kB]
Descargados 7.536 kB en 4s (2.089 kB/s)
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
Todos los paquetes están actualizados.
N: Repository 'https://security.debian.org/debian-security bookworm-security InRelease' changed its 'Suite' value from 'stable-security' to 'oldstable-security'
N: Repository 'https://ftp.debian.org/debian bookworm InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'https://debian.redimadrid.es/debian bookworm InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'https://ftp.debian.org/debian bookworm-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
N: Repository 'https://ftp.debian.org/debian bookworm-proposed-updates InRelease' changed its 'Suite' value from 'proposed-updates' to 'oldstable-proposed-updates'
N: Repository 'https://ftp.debian.org/debian bookworm-backports InRelease' changed its 'Suite' value from 'stable-backports' to 'oldstable-backports'
N: Repository 'https://debian.uvigo.es/debian bookworm InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
bash: upgrade: orden no encontrada
Fíjate que al final verás unas líneas que comienzan por «N:», son notificaciones y significan que la versión de Debian en la que se basa tu sistema operativo ha pasado de ser la versión «stable» (estable) a «oldstable» (vieja estable). Esto ocurre cuando se lanza una nueva versión principal de Debian, y la anterior se «degrada» a vieja estable.
El sistema te informa de este cambio porque es una modificación en la configuración de los repositorios de software y espera que lo aceptes explícitamente para seguir recibiendo actualizaciones de seguridad y de paquetes para tu versión actual.
Nota: si no deseas actualizar tu Debian 12 y prefieres quedarte ahí, para no ver ese tipo de notificaciones y permitir que tu sistema siga recibiendo actualizaciones de los repositorios
oldstable
, puedes ejecutar el siguiente comando:sudo apt update --allow-releaseinfo-change
Este comando le dice a APT (la herramienta de gestión de paquetes) que acepte explícitamente el cambio de
Suite
destable
aoldstable
y actualice la lista de paquetes sin mostrar la notificación. Después de esto, podrás seguir actualizando tu sistema con normalidad usandosudo apt update
ysudo apt upgrade
.
Pero como cambiar de versión, nos pone mas calientes que el machete de Rambo, hacemos un:
sudo apt upgrade -y
Y seguimos por el punto 2
2. Modificar los orígenes de software
El siguiente paso es modificar el archivo /etc/apt/sources.list. Es el archivo que le dice a tu sistema de dónde descargar los paquetes. Debes cambiar el nombre de la versión actual (bookworm) por el de la nueva versión (trixie).
Importante: Haz una copia de seguridad del archivo antes de modificarlo, para que puedas revertir los cambios si algo sale mal.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
Una vez que tengas la copia de seguridad hecha, entra en el archivo:
sudo nano /etc/apt/sources.list
Dentro del archivo sources.list
, reemplaza todas las instancias de bookworm
(el nombre de código de Debian 12)
#Repos oficiales no libres
deb https://ftp.debian.org/debian/ bookworm contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ bookworm contrib main non-free non-free-firmware
#Actualizaciones
deb https://ftp.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
deb https://ftp.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
#Seguridad
deb https://security.debian.org/debian-security bookworm-security main non-free-firmware
deb-src https://security.debian.org/debian-security bookworm-security main non-free-firmware
#Repositorios Backports
deb https://ftp.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
#Repositorio multimedia
deb https://www.deb-multimedia.org bookworm main non-free
por el nombre de la nueva versión a la que quieras actualizar (por ejemplo, trixie
para la próxima versión de Debian 13, o sid
para la versión inestable).
#Repos oficiales no libres
deb https://ftp.debian.org/debian/ trixie contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ trixie contrib main non-free non-free-firmware
#Actualizaciones
deb https://ftp.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware
deb https://ftp.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware
#Seguridad
deb https://security.debian.org/debian-security trixie-security main non-free-firmware
deb-src https://security.debian.org/debian-security trixie-security main non-free-firmware
#Repositorios Backports
deb https://ftp.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware
#deb-src https://ftp.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware
#Repositorio multimedia
deb https://www.deb-multimedia.org trixie main non-free
2.1 Modificar listas de repositorios personales.
En este paso, deberás de poner mayor atención, ya que requiere una de labor de investigación.
Debes revisar los archivos contenidos en el directorio /etc/apt/sources.list.d
que contienen listas de repositorios adicionales. Este lugar sirve para que los programas o los usuarios agreguen sus propios repositorios sin tener que modificar el archivo principal /etc/apt/sources.list
.
Lista tu directorio sources.list.d de esta forma:
lenovo@apolo:~$ ls -l /etc/apt/sources.list.d
total 20
-rw-r--r-- 1 root root 147 jul 15 2024 jellyfin.sources
-rw-r--r-- 1 root root 108 sep 11 2024 mozilla.list
-rw-r--r-- 1 root root 121 may 24 16:49 mullvad.list
-rw-r--r-- 1 root root 138 dic 1 2024 nala-sources.list
-rw-r--r-- 1 root root 166 jun 4 23:23 winehq-bookworm.sources
lenovo@apolo:~$
Nos mostrará la cantidad de repositorios personales que se han ido añadiendo a lo largo del tiempo.
Por ejemplo, abrimos el primero de la lista:
lenovo@apolo:~$ sudo nano /etc/apt/sources.list.d/jellyfin.sources
Nota, debes informarte antes de actualizar, que los desarrolladores de tus repositorios adicionales, tienen preparada la versión compatible con Debian 13 Trixie, de lo contrario, tus programas dejarán de funcionar.
Al momento de esta entrada, en este mismo PC, donde tengo el servidor de Jellyfin, no voy a poder actualizar a Debian 13, ya que Jellyfin por el momento no es compatible con Trixie.
Una vez te hayas asegurado que los repositorios adicionales son compatibles con Debian 13, abre uno a uno y si procede, sustituye la palabra "bookworm"
por "trixie"
, en algunos no tendrás que hacer nada, ya que no hacen referencia a bookworm.
3. Realizar la actualización completa
En este paso, te recomendaría hacerlo desde una terminal pura, sin entorno gráfico y como usuario root, ya que si te pasa como a mi, podrás arreglar cualquier problema siguiendo los pasos que se te indiquen.
La forma más rápida es usar un atajo de teclado, generalmente, puedes cambiar a una de las consolas virtuales (TTY) presionando:
- Ctrl + Alt + F3
Esto te llevará a una terminal de pantalla completa donde se te pedirá que inicies sesión.
Debian GNU/Linux 12 apolo tty0
apolo login:
Logueate como root en la terminal así:
root
Escribe la contraseña que pusiste al activar la cuenta de root.
Debian GNU/Linux 12 apolo tty0
apolo login: root
Password:
Linux apolo 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@apolo:~#
Ejecuta el siguiente comando para actualizar los repositiorios a la nueva versión:
apt update
Cuando haya terminado de actualizar el indice de repositorios, usa el comando apt full-upgrade
, ya que es el que gestiona la instalación de nuevos paquetes y la eliminación de paquetes conflictivos, algo necesario durante una actualización importante del sistema.
apt full-upgrade
Sigue los pasos que te indique el sistema, es posible que te pida confirmación varias veces durante el proceso.
Y cuando termines la instalación se recomienda usar el comando:
sudo apt autoremove
Para volver a tu entorno gráfico, presiona:
- Ctrl + Alt + F7
Es posible que tu entorno gráfico esté en otra TTY, como F1, F2 o F7. Si F2 no funciona, prueba con Ctrl + Alt + F7 o Ctrl + Alt + F1.
Después de que la actualización termine, reinicia tu PC para asegurarte de que todos los cambios se apliquen correctamente.
Si tienes problemas durante la instalación, es posible, que debas usar el comando:
sudo dpkg --configure -a
De todos modos, el sistema te irá guiando si detecta algún problema.