apt update échoue : basculer un ancien Debian vers l'archive

Publié le Mis à jour le 6 min de lecture

Après la fin du support d'une version de Debian, apt update s'arrête sur une erreur 404. Voici comment basculer la sources.list vers archive.debian.org et rendre le serveur de nouveau administrable.

Vous lancez apt update sur un serveur Debian un peu ancien et, au lieu de la liste des paquets, vous ne récupérez que des messages d'erreur : « 404 Not Found », « Release file is not valid yet » ou « Repository does not have a Release file ». Dans ce guide, nous expliquons la cause et montrons comment remettre le serveur en état de se mettre à jour.

Toutes les versions de Debian dont le support a pris fin sont concernées : Debian 8 (Jessie), Debian 9 (Stretch), Debian 10 (Buster) et, sous peu, Debian 11 (Bullseye).

Pourquoi apt update échoue sur les anciennes versions de Debian

Debian exploite des serveurs de paquets distincts pour chaque publication. Dès qu'une version atteint la fin de son support, elle disparaît des miroirs habituels hébergés sur deb.debian.org et security.debian.org. Les paquets ne sont pas perdus pour autant, ils changent simplement d'adresse : ils partent sur archive.debian.org.

Votre fichier /etc/apt/sources.list, lui, pointe toujours vers les anciennes adresses. C'est de là que vient l'erreur 404. Un second problème s'y ajoute : les fichiers Release déposés dans l'archive portent une date d'expiration largement dépassée. apt s'interrompt là-dessus également, même lorsque les adresses sont correctes.

Ces deux points se corrigent. Il faut toutefois garder les choses en perspective : un Debian sans support ne reçoit plus aucune mise à jour de sécurité. Les étapes qui suivent rendent le serveur de nouveau administrable, elles ne remplacent pas une montée de version.

Quelle version de Debian tourne sur votre serveur ?

Vérifiez-le en premier, car les bonnes adresses en dépendent :

cat /etc/debian_version
lsb_release -a

Le nom de code renvoyé (jessie, stretch, buster, bullseye) se retrouve dans toutes les lignes qui suivent.

Sauvegarder et modifier sources.list

Créez d'abord une sauvegarde afin de pouvoir revenir en arrière à tout moment :

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

Ouvrez ensuite le fichier dans un éditeur :

nano /etc/apt/sources.list

Supprimez le contenu existant et saisissez le bloc qui correspond à votre version, repris de la section suivante. Vérifiez ensuite aussi le répertoire /etc/apt/sources.list.d/ : il contient souvent des fichiers séparés avec des adresses périmées, qui continuent de provoquer l'erreur.

Les sources d'archive adaptées

Debian 10 (Buster)

Le support a pris fin à la mi-2024, Buster se trouve entièrement dans l'archive :

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 est le cas d'erreur classique, car beaucoup de vieux tutoriels en ligne renvoient encore vers security.debian.org. Cette adresse ne fournit plus rien pour 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 atteint la fin de sa phase LTS en août 2026. Le même schéma s'applique ensuite. Notez qu'à partir de Bullseye, l'écriture de la source de sécurité a changé : ce n'est plus bullseye/updates, mais 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

Tant que Bullseye reste pris en charge, les miroirs habituels demeurent le bon choix. Ne basculez qu'au moment où apt signale réellement une erreur 404.

Une remarque pour les systèmes plus récents : à partir de Debian 13 (Trixie), les sources de paquets ne sont plus gérées par défaut dans /etc/apt/sources.list, mais au format deb822 dans /etc/apt/sources.list.d/debian.sources. La structure y est différente, le principe reste le même.

Accepter des listes de paquets expirées

Après l'enregistrement, apt va probablement continuer à s'interrompre, cette fois en signalant que le fichier Release a expiré. C'est normal sur les versions archivées. Demandez à apt d'ignorer la date d'expiration :

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

Si vous n'en avez besoin qu'une seule fois, vous pouvez aussi passer le réglage directement à la commande au lieu de créer un fichier :

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

La mise à jour habituelle fonctionne alors de nouveau :

apt-get update
apt-get upgrade

Messages d'erreur fréquents et ce qu'ils signifient

  • « 404 Not Found » : l'adresse indiquée dans la sources.list pointe encore vers un miroir habituel. Basculez sur archive.debian.org.
  • « Release file ... is not valid yet » ou « expired » : la date d'expiration du fichier Release est dépassée. Activez l'option Check-Valid-Until comme décrit plus haut.
  • « The repository ... does not have a Release file » : le plus souvent une faute de frappe dans le nom de code, ou une suite qui n'existe pas dans l'archive. Vérifiez l'orthographe caractère par caractère.
  • « NO_PUBKEY » ou « EXPKEYSIG » : la clé de signature de l'ancienne publication a expiré. Dans bien des cas, réinstaller le paquet debian-archive-keyring suffit.
  • L'erreur persiste malgré une sources.list corrigée : un second fichier avec d'anciennes adresses traîne encore dans /etc/apt/sources.list.d/.

La solution durable : montée de version ou réinstallation

Le passage à l'archive replace votre serveur dans un état administrable, mais il n'apporte aucune mise à jour de sécurité. Pour un serveur accessible depuis Internet, une bascule vers une version de Debian encore supportée doit donc suivre.

Deux voies sont possibles :

  1. Réinstallation : dans la plupart des cas, c'est le chemin le plus rapide et le plus propre. Vous pouvez à tout moment réinstaller vous-même votre serveur avec un système d'exploitation récent depuis l'espace client. Sauvegardez au préalable vos données et vos fichiers de configuration.
  2. Montée de version progressive : Debian se met à niveau d'une version vers la suivante, par exemple de Buster vers Bullseye, puis vers Bookworm. Les sauts par-dessus plusieurs versions ne sont pas pris en charge et finissent régulièrement sur un système cassé.

Dans tous les cas, créez une sauvegarde avant de commencer. D'expérience, une montée de version sur un système vieux de plusieurs années est précisément le moment où les anciennes configurations et les sources tierces posent problème.

Questions fréquentes

Pourquoi apt update renvoie-t-il soudain une erreur 404 ?
La version de Debian a atteint la fin de son support. Les paquets ont migré des miroirs habituels vers archive.debian.org, alors que votre sources.list pointe encore vers l'ancienne adresse.
Quelles versions de Debian sont concernées ?
Toutes les versions sans support, donc Debian 8 (Jessie), Debian 9 (Stretch) et Debian 10 (Buster). Debian 11 (Bullseye) suivra après la fin de sa phase LTS en août 2026.
Que signifie le message indiquant que le fichier Release a expiré ?
Les fichiers Release archivés portent une date d'expiration dépassée depuis longtemps. Avec le réglage Acquire::Check-Valid-Until, apt les accepte malgré tout.
Vais-je de nouveau recevoir des mises à jour de sécurité après la bascule ?
Non. L'archive ne contient que le dernier état publié avant la fin du support. Pour un serveur accessible depuis Internet, seule une montée de version ou une réinstallation constitue une solution durable.
Puis-je passer directement de Debian 8 à Debian 12 ?
Non. Debian ne prend en charge que le saut vers la version immédiatement suivante. Sur les systèmes très anciens, une réinstallation est en règle générale plus rapide et nettement plus propre.

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