Comment réparer l'erreur 404 Not Found lors d'une mise à jour apt-get sur Debian
L'erreur “404 Not Found” lors de la mise à niveau se produit lorsque votre système tente de télécharger des paquets à partir de sources de dépôt qui n'existent plus ou ont été déplacées, ce qui arrive généralement avec les anciennes versions de Debian qui ont atteint leur statut de fin de vie et dont les paquets ont été transférés vers les serveurs d'archives.
Puisque Debian maintient des cycles de publication stricts, les anciennes versions finissent par passer des miroirs actifs à un stockage d'archives dédié. Lorsque cela se produit, votre configuration de dépôt existante devient obsolète et les opérations du gestionnaire de paquets échouent.
Comprendre les erreurs 404 lors de la mise à niveau
Lorsque vous exécutez apt-get update ou apt-get upgrade, le système lit votre liste de sources à partir de /etc/apt/sources.list et tente de récupérer les informations sur les paquets à partir des URL spécifiées. Si ces URL pointent vers des dépôts qui ont été déplacés ou supprimés, vous recevez des erreurs 404.
La solution consiste à mettre à jour votre liste de sources pour pointer vers les emplacements corrects des dépôts. Comme différentes versions de Debian nécessitent différentes URL de dépôt, nous allons d'abord identifier votre version actuelle, puis modifier la configuration en conséquence.
Vérification de votre version de Debian
Avant d'effectuer des modifications, vous devez déterminer quelle version de Debian vous utilisez.
lsb_release -a
La commande ci-dessus affiche les informations sur votre distribution, y compris le numéro de version et le nom de code.
- Bookworm → Debian 12
- Bullseye → Debian 11
- Buster → Debian 10
Prenez note de votre nom de code, car vous en aurez besoin dans les étapes suivantes.
Sauvegarde de la configuration des fichiers sources
Puisque vous allez modifier des fichiers système, créer une sauvegarde vous assure de pouvoir restaurer votre configuration originale si nécessaire.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
Cela crée une copie de votre liste de sources dans le même répertoire, si quelque chose tourne mal, vous pouvez la restaurer en inversant la source et la destination dans la commande ci-dessus.
Mise à jour des sources du dépôt
Ensuite, vous devez modifier votre liste de sources pour pointer vers les dépôts corrects. Pour les anciennes versions de Debian qui ont atteint la fin de vie, vous devez passer aux serveurs d'archives.
Ouvrez le fichier avec un éditeur de texte :
sudo nano /etc/apt/sources.list
Pour les versions Debian en fin de vie
Si votre version de Debian n'est plus prise en charge (par exemple, Jessie, Stretch ou une version plus ancienne), remplacez le contenu du fichier par :
deb http://archive.debian.org/debian/ CODENAME main contrib non-free
deb http://archive.debian.org/debian-security/ CODENAME/updates main contrib non-free
Remplacez CODENAME par le nom de code de votre Debian (par exemple, stretch pour Debian 9).
Pour les versions actuellement prises en charge
Si votre version de Debian est toujours prise en charge mais que vous obtenez des erreurs 404 (problèmes de miroir), utilisez plutôt les dépôts principaux de Debian :
deb http://deb.debian.org/debian/ CODENAME main contrib non-free
deb http://deb.debian.org/debian/ CODENAME-updates main contrib non-free
deb http://security.debian.org/debian-security CODENAME-security main contrib non-free
Remplacez CODENAME par votre version :
- Debian 12 → bookworm
- Debian 11 → bullseye
- Debian 10 → buster
Après avoir effectué ces changements, enregistrez le fichier en appuyant sur Ctrl+O, puis Entrée, et quittez avec Ctrl+X.
Gestion de la validation du dépôt d'archives
Les dépôts d'archives pour les versions Debian en fin de vie ne reçoivent pas de mises à jour de sécurité, ce qui signifie que leurs fichiers de version ne sont plus signés avec des clés valides. Pour éviter que la commande apt échoue en raison de signatures expirées, vous devez désactiver les vérifications de validation pour ces dépôts.
Ouvrez ou créez le fichier de configuration suivant :
sudo nano /etc/apt/apt.conf.d/99allow-unauthenticated
Ajoutez cette seule ligne :
Acquire::Check-Valid-Until "false";
Ce paramètre indique à apt d'ignorer la période de validité des fichiers de version, ce qui est nécessaire pour les dépôts archivés qui ne reçoivent plus de mises à jour.
Mise à jour des informations sur le paquet
Avec vos sources de dépôt maintenant correctement configurées, mettez à jour vos listes de paquets, ce qui récupérera les informations de paquet les plus récentes depuis vos dépôts nouvellement configurés. Si tout est correctement configuré, cela devrait se terminer sans aucune erreur 404.
sudo apt-get update
Une fois que vos listes de paquets sont mises à jour, vous pouvez mettre à niveau vos paquets installés, ce qui téléchargera et installera les mises à jour disponibles pour votre système actuel. Pour les versions archivées, vous pouvez constater que peu ou aucun paquet n'est mis à niveau puisque elles ne reçoivent plus de mises à jour.
sudo apt-get upgrade
Envisager une mise à niveau de distribution
Bien que la correction des erreurs 404 permette à votre système actuel de fonctionner, utiliser une version Debian en fin de vie signifie que vous ne recevez plus de mises à jour de sécurité, ce qui représente des risques importants dans des environnements de production ou exposés à Internet.
Vous devriez envisager de passer à une version de Debian actuellement prise en charge.
sudo apt-get dist-upgrade
Cependant, la mise à niveau entre les principales versions de Debian nécessite une planification minutieuse et ne doit pas être effectuée à la légère, car elle peut perturber les configurations existantes ou les logiciels installés. Consultez les notes de publication officielles de Debian pour votre version cible avant de tenter une mise à niveau majeure.
Résumé
Les erreurs 404 lors de apt-get upgrade proviennent d'URL de dépôt obsolètes dans votre configuration des sources. En identifiant votre version de Debian, en mettant à jour votre liste de sources pour pointer vers les dépôts appropriés et en ajustant les paramètres de validation, vous pouvez restaurer la fonctionnalité de gestion des paquets.
Étant donné que l'utilisation de versions non prises en charge comporte des implications en matière de sécurité, il reste recommandé à long terme de planifier une mise à niveau vers une version Debian actuelle.