ACLClouds
ACLClouds

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

  1. Chercher un processus actif

    Vérifiez ps et systemd. Attendez si unattended-upgrades ou apt utilise encore le gestionnaire de paquets.

  2. Terminer la configuration de DPKG

    Lorsque plus aucun processus apt ne tourne, exécutez dpkg --configure -a.

  3. Réparer les dépendances

    Lancez apt-get -f install, puis apt update et contrôlez chaque erreur de dépôt.

  4. 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.