Tôt ou tard, apt update sur votre VPS Linux Infrawire échoue avec un mur de texte rouge : clé GPG manquante, dépôt disparu ou verrou qui ne part jamais. Chaque erreur a une cause claire et une correction courte.
Ce guide passe en revue les problèmes les plus fréquents sur Ubuntu 24.04 et Debian 12, de la correction la moins invasive à la plus lourde.
📋 Prérequis
- Un VPS sous Ubuntu 24.04 ou Debian 12
- Un accès SSH root (l'IP et le mot de passe root sont disponibles dans votre espace client)
- Des notions de base en ligne de commande
1. Repérer d'abord les sources
Avant de corriger quoi que ce soit, sachez où sont définis vos dépôts :
Bashcat /etc/os-release cat /etc/apt/sources.list ls -l /etc/apt/sources.list.d/ apt update 2>&1 | grep -E '^(Err|W:|E:)'
Sur Ubuntu 24.04, les dépôts principaux se trouvent dans /etc/apt/sources.list.d/ubuntu.sources, au format deb822 (fichiers .sources). Debian 12 utilise encore le format classique en une ligne dans /etc/apt/sources.list, et les deux formats cohabitent.
Bash# Exemple d'entrée deb822 (Ubuntu 24.04) Types: deb URIs: http://archive.ubuntu.com/ubuntu/ Suites: noble noble-updates noble-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
2. Erreurs de verrou et dpkg interrompu
Le message Could not get lock /var/lib/dpkg/lock-frontend signifie qu'un autre processus utilise apt, très souvent unattended-upgrades juste après le démarrage. Vérifiez avant d'agir :
Bashps aux | grep -E 'apt|dpkg|unattended' | grep -v grep lsof /var/lib/dpkg/lock-frontend
Si un processus tourne, attendez quelques minutes. Ne supprimez un fichier de verrou que si rien ne le détient (risqué si vous vous trompez), puis réparez l'état interrompu :
Bashrm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/lock dpkg --configure -a apt --fix-broken install
Le message dpkg was interrupted, you must manually run 'dpkg --configure -a' se règle justement avec la première de ces commandes.
3. NO_PUBKEY et clés GPG manquantes
L'erreur The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABCD1234 indique qu'un dépôt tiers n'a pas de clé de confiance. N'utilisez pas apt-key, devenu obsolète : placez la clé dans /etc/apt/keyrings/ et référencez-la avec signed-by.
Bashinstall -d -m 0755 /etc/apt/keyrings curl -fsSL https://example.com/repo/key.gpg | gpg --dearmor -o /etc/apt/keyrings/example.gpg chmod 644 /etc/apt/keyrings/example.gpg echo 'deb [signed-by=/etc/apt/keyrings/example.gpg] https://example.com/repo stable main' > /etc/apt/sources.list.d/example.list apt update
Utilisez l'URL de clé donnée dans la documentation officielle du logiciel, et installez d'abord curl gnupg s'ils manquent. Si l'erreur concerne l'archive Ubuntu ou Debian elle-même, réinstallez le paquet de clés : apt install --reinstall ubuntu-keyring ou debian-archive-keyring.
4. Dépôts tiers cassés
Une erreur 404 Not Found ou does not have a Release file sur un PPA ou un dépôt éditeur signifie en général qu'il ne prend plus en charge votre version. Désactivez-le plutôt que de le supprimer :
Bash# Fichier .list classique : le renommer mv /etc/apt/sources.list.d/broken.list /etc/apt/sources.list.d/broken.list.disabled # Fichier .sources deb822 : ajouter cette ligne dans le bloc Enabled: no
Relancez ensuite apt update. L'erreur disparaît et les paquets déjà installés continuent de fonctionner.
5. Erreurs d'horloge : Release file not valid yet
Release file for ... is not valid yet (invalid for another 3h 12min) signifie que l'horloge système est en retard sur l'horodatage du dépôt. Vérifiez et resynchronisez :
Bashtimedatectl timedatectl set-ntp true systemctl restart systemd-timesyncd
Si systemd-timesyncd n'est pas installé (certaines images Debian minimales), utilisez apt install -y chrony.
6. Versions en fin de vie
Quand une version atteint sa fin de vie, ses paquets sont déplacés et apt update renvoie 404 ou no longer has a Release file. Pour une version Ubuntu non LTS, pointez les sources vers l'archive des anciennes versions :
Bashsed -i 's|http://archive.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g; s|http://security.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list /etc/apt/sources.list.d/*.sources 2>/dev/null apt update
Pour une ancienne Debian, utilisez http://archive.debian.org/debian et supprimez la ligne de sécurité. Considérez un système EOL comme un palliatif : il ne reçoit plus de correctifs de sécurité, prévoyez donc une montée vers une version supportée.
7. Vérifier
Bashapt update apt upgrade --dry-run apt-get check
apt update doit se terminer sans ligne Err ni E:, et apt-get check ne doit rien afficher.
🛠️ Dépannage
Le verrou revient à chaque tentative : unattended-upgrades tourne probablement. Vérifiez systemctl status unattended-upgrades et attendez la fin.
Conflicting values set for option Signed-By : le même dépôt est déclaré deux fois avec des clés différentes. Cherchez avec grep -r example.com /etc/apt/ et gardez une seule entrée.
apt --fix-broken install échoue sur un script de paquet : lisez les dernières lignes d'erreur, puis essayez dpkg --remove --force-remove-reinstreq PACKAGE suivi d'une réinstallation normale.
✅ Votre gestionnaire de paquets est de nouveau en forme : mises à jour et installations sans erreur !