APT ou DPKG est bloqué après une mise à jour interrompue
Vérifier les processus actifs, terminer la configuration et réparer les dépendances sans supprimer les verrous à l’aveugle.
Un verrou APT signifie souvent qu’une autre mise à jour est encore en cours. Supprimer immédiatement les fichiers de verrouillage (lock) peut corrompre la base de paquets.
Procédure étape par étape
-
Chercher un processus actif
Vérifiez ps et systemd. Attendez si unattended-upgrades ou apt utilise encore le gestionnaire de paquets.
-
Terminer la configuration de DPKG
Lorsque plus aucun processus apt ne tourne, exécutez dpkg --configure -a.
-
Réparer les dépendances
Lancez apt-get -f install, puis apt update et contrôlez chaque erreur de dépôt.
-
Relancer la mise à jour
Mettez à jour dans une session persistante et gardez noVNC disponible en cas de coupure SSH.
Réparation prudente
ps aux | grep -E "apt|dpkg"
dpkg --configure -a
apt-get -f install
apt update
Voir ce qui tient APT et le dernier journal
systemctl status unattended-upgrades apt-daily.service apt-daily-upgrade.service --no-pager
tail -n 50 /var/log/apt/term.log
dpkg --audit
Mettre à jour dans une session persistante
apt install -y tmux
tmux new -s upgrade
apt update && apt upgrade
# after an SSH drop: tmux attach -t upgrade
Avant de commencer
Travaillez en root depuis la « Console noVNC » ou dans une session tmux : une coupure SSH au milieu d’une mise à jour est la cause la plus fréquente d’un DPKG interrompu. Vérifiez aussi l’espace avec df -h, car un / plein interrompt l’installation des paquets.
- Copiez le message exact d’APT : il nomme le paquet et le fichier en cause.
- Ne lancez jamais deux gestionnaires en même temps (apt, apt-get, aptitude, unattended-upgrades).
- Sur Rocky Linux et AlmaLinux, le gestionnaire est dnf : ce guide ne s’applique pas.
Lire le message d’APT
Chaque message indique une action différente :
- E: Could not get lock /var/lib/dpkg/lock-frontend : un autre processus utilise APT, attendez qu’il se termine.
- E: dpkg was interrupted : une installation a été coupée, lancez dpkg --configure -a.
- E: Unmet dependencies : des dépendances manquent, apt --fix-broken install les installe.
- dpkg: error processing package : le script d’un paquet a échoué, les lignes juste au-dessus donnent la raison.
Vérifier que tout fonctionne
dpkg --audit ne doit rien afficher et apt-get check doit se terminer sans erreur. Lancez ensuite apt update puis apt upgrade : aucun verrou ni paquet à demi installé ne doit être signalé.
Questions fréquentes
Le verrou ne se libère pas alors qu’aucune mise à jour ne tourne, puis-je le supprimer ?
Un verrou n’est actif que si un processus le tient : un fichier de verrou présent sans processus ne bloque rien. Si l’erreur revient, un processus existe bien. Au démarrage du VPS, unattended-upgrades installe souvent les mises à jour de sécurité pendant quelques minutes. Laissez-le finir : le tuer laisse DPKG interrompu.
apt update affiche NO_PUBKEY pour un dépôt tiers, que faire ?
La clé de signature de ce dépôt manque ou a expiré. Réinstallez-la selon la documentation de l’éditeur (Docker, Node.js, PHP), ou désactivez le dépôt en renommant son fichier de /etc/apt/sources.list.d/ avec l’extension .disabled, puis relancez apt update.
Que signifie Sub-process /usr/bin/dpkg returned an error code (1) ?
Ce message final est générique. La vraie cause figure plus haut ou dans /var/log/apt/term.log : souvent un service qui refuse de redémarrer après la mise à jour (lisez systemctl status suivi de son nom), un fichier de configuration modifié à la main ou un disque plein.