apt update falla: cambiar un Debian antiguo al archivo

Publicado el Actualizado el 5 min de lectura

Tras el fin del soporte de una versión de Debian, apt update se detiene con un error 404. Así cambias la sources.list a archive.debian.org y vuelves a dejar el servidor actualizable.

Ejecutas apt update en un servidor Debian antiguo y, en lugar de la lista de paquetes, solo aparecen mensajes de error: "404 Not Found", "Release file is not valid yet" o "Repository does not have a Release file". En esta guía te explicamos la causa y te mostramos cómo dejar el servidor otra vez actualizable.

Están afectadas todas las versiones de Debian cuyo soporte ha terminado: Debian 8 (Jessie), Debian 9 (Stretch), Debian 10 (Buster) y, en breve, también Debian 11 (Bullseye).

Por qué apt update falla en las versiones antiguas de Debian

Debian mantiene servidores de paquetes propios para cada publicación. En cuanto una versión llega al final de su soporte, desaparece de los servidores espejo habituales en deb.debian.org y security.debian.org. Los paquetes no se pierden por ello, simplemente cambian de sitio: pasan a archive.debian.org.

Tu archivo /etc/apt/sources.list, en cambio, sigue apuntando a las direcciones antiguas. Por eso apt devuelve un error 404. A esto se suma un segundo problema: los archivos Release guardados en el archivo llevan una fecha de caducidad superada desde hace mucho. apt también se detiene por ese motivo, incluso cuando las direcciones son correctas.

Ambos puntos tienen solución. Pero conviene situar bien el asunto: un Debian sin soporte ya no recibe actualizaciones de seguridad. Los pasos siguientes vuelven a dejar el servidor administrable, aunque no sustituyen a un cambio de versión.

¿Qué versión de Debian se ejecuta en tu servidor?

Compruébalo primero, porque de ello dependen las direcciones correctas:

cat /etc/debian_version
lsb_release -a

El nombre en clave que obtienes (jessie, stretch, buster, bullseye) vuelve a aparecer en todas las líneas siguientes.

Hacer un backup de sources.list y editarla

Crea primero una copia de seguridad para poder volver atrás en cualquier momento:

cp /etc/apt/sources.list /etc/apt/sources.list.bak

Abre después el archivo en el editor:

nano /etc/apt/sources.list

Borra el contenido actual e introduce el bloque que corresponda a tu versión, tomándolo del apartado siguiente. Revisa además el directorio /etc/apt/sources.list.d/: allí suele haber archivos propios con direcciones obsoletas que siguen provocando el error.

Las fuentes del archivo adecuadas

Debian 10 (Buster)

El soporte terminó a mediados de 2024, así que Buster está por completo en el archivo:

deb http://archive.debian.org/debian/ buster main contrib non-free
deb-src http://archive.debian.org/debian/ buster main contrib non-free

deb http://archive.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ buster/updates main contrib non-free

Debian 9 (Stretch)

deb http://archive.debian.org/debian/ stretch main contrib non-free
deb-src http://archive.debian.org/debian/ stretch main contrib non-free

deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ stretch/updates main contrib non-free

Debian 8 (Jessie)

Jessie es el caso clásico de este error, porque muchas guías antiguas que circulan por la red siguen remitiendo a security.debian.org. Esa dirección ya no entrega nada para Jessie:

deb http://archive.debian.org/debian/ jessie main contrib non-free
deb-src http://archive.debian.org/debian/ jessie main contrib non-free

deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ jessie/updates main contrib non-free

deb http://archive.debian.org/debian/ jessie-backports main
deb-src http://archive.debian.org/debian/ jessie-backports main

Debian 11 (Bullseye)

Bullseye llega al final de su fase LTS en agosto de 2026. A partir de ahí se aplica el mismo patrón. Ten en cuenta que desde Bullseye cambió la forma de escribir la fuente de seguridad: ya no es bullseye/updates, sino bullseye-security:

deb http://archive.debian.org/debian/ bullseye main contrib non-free
deb-src http://archive.debian.org/debian/ bullseye main contrib non-free

deb http://archive.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://archive.debian.org/debian-security/ bullseye-security main contrib non-free

Mientras Bullseye siga teniendo soporte, los servidores espejo habituales son la opción correcta. Haz el cambio solo cuando apt devuelva realmente un error 404.

Un apunte para los sistemas más nuevos: a partir de Debian 13 (Trixie), las fuentes de paquetes ya no se gestionan de forma predeterminada en /etc/apt/sources.list, sino en formato deb822 en /etc/apt/sources.list.d/debian.sources. Allí la estructura es distinta, pero el principio es el mismo.

Aceptar listas de paquetes caducadas

Después de guardar, es probable que apt siga deteniéndose, esta vez con el aviso de que el archivo Release ha caducado. En versiones archivadas eso es normal. Indícale a apt que ignore la fecha de caducidad:

echo 'Acquire::Check-Valid-Until "false";' | tee /etc/apt/apt.conf.d/10-nocheckvalid

Si solo lo necesitas una vez, puedes añadir la opción directamente a la llamada en lugar de crear un archivo:

apt-get -o Acquire::Check-Valid-Until=false update

Después vuelve a funcionar la actualización de siempre:

apt-get update
apt-get upgrade

Mensajes de error frecuentes y qué significan

  • "404 Not Found": La dirección de la sources.list todavía apunta a un servidor espejo habitual. Cámbiala a archive.debian.org.
  • "Release file ... is not valid yet" o "expired": La fecha de caducidad del archivo Release ya pasó. Aplica la opción Check-Valid-Until tal como se describe arriba.
  • "The repository ... does not have a Release file": Casi siempre es una errata en el nombre en clave o una suite que no existe en el archivo. Revisa la escritura carácter por carácter.
  • "NO_PUBKEY" o "EXPKEYSIG": La clave de firma de la publicación antigua ha caducado. En muchos casos ayuda reinstalar el paquete debian-archive-keyring.
  • El error persiste aunque la sources.list esté corregida: En /etc/apt/sources.list.d/ queda todavía un segundo archivo con direcciones antiguas.

La solución duradera: cambio de versión o reinstalación

El cambio al archivo devuelve tu servidor a un estado administrable, pero no aporta actualizaciones de seguridad. Por eso, en un servidor accesible desde internet debería seguir después un cambio a una versión de Debian con soporte.

Tienes dos caminos:

  1. Reinstalación: en la mayoría de los casos, la vía más rápida y limpia. Puedes reinstalar tu servidor con un sistema operativo actual por tu cuenta y en cualquier momento desde el área de cliente. Haz antes un backup de tus datos y de tus archivos de configuración.
  2. Actualización por pasos: Debian se puede subir de versión en versión, por ejemplo de Buster a Bullseye y después a Bookworm. Los saltos por encima de varias versiones no tienen soporte y acaban con regularidad en un sistema roto.

En cualquier caso, haz antes un backup. Una actualización que atraviesa versiones de varios años de antigüedad es, por experiencia, el punto en el que las configuraciones viejas y las fuentes de terceros dan problemas.

Preguntas frecuentes

¿Por qué apt update devuelve de repente un error 404?
La versión de Debian ha llegado al final de su soporte. Los paquetes han migrado de los servidores espejo habituales a archive.debian.org, mientras que tu sources.list sigue apuntando a la dirección antigua.
¿Qué versiones de Debian están afectadas?
Todas las versiones sin soporte, es decir Debian 8 (Jessie), Debian 9 (Stretch) y Debian 10 (Buster). Debian 11 (Bullseye) se sumará tras el final de su fase LTS en agosto de 2026.
¿Qué significa el mensaje de que el archivo Release ha caducado?
Los archivos Release archivados llevan una fecha de caducidad superada desde hace mucho. Con el ajuste Acquire::Check-Valid-Until, apt los acepta igualmente.
¿Vuelvo a recibir actualizaciones de seguridad después del cambio?
No. El archivo solo contiene el último estado publicado antes del fin del soporte. Para un servidor accesible desde internet, la única solución duradera es un cambio de versión o una reinstalación.
¿Puedo actualizar directamente de Debian 8 a Debian 12?
No. Debian solo admite el salto a la versión inmediatamente siguiente. En sistemas muy antiguos, una reinstalación suele ser más rápida y bastante más limpia.

Debian apt sources.list archive.debian.org Fin de soporte Jessie Buster