Correction de l'impossibilité d'obtenir le verrou /var/lib/dpkg/lock-frontend avec la commande apt-Get sous Ubuntu

Ce message E: Could not get lock /var/lib/dpkg/lock-frontendindique qu'un autre processus de gestion de paquets détient le verrou nécessaire à APT. Ce verrou empêche les modifications de paquets d'être effectuées simultanément. Il apparaît généralement lorsque le Gestionnaire de mises à jour, un autre terminal ou une mise à jour automatique est déjà en train d'installer ou de configurer des paquets. La solution la plus sûre consiste à identifier cette opération et à la laisser se terminer ; la suppression du fichier de verrouillage n'est pas la première étape.

Les commandes ci-dessous s'appliquent aux systèmes Ubuntu utilisant APT et dpkg. Les étiquettes de bureau et la fréquence des mises à jour automatiques varient selon la version et la configuration d'Ubuntu ; par conséquent, considérez la sortie des processus sur votre machine comme la référence. Les manuels d'Ubuntu 24.04 LTS, dont les liens sont fournis ci-dessous, documentent ces commandes ; consultez le manuel correspondant à votre version si son comportement diffère.

Ce que l'erreur de verrouillage vous indique (et ce qu'elle ne vous indique pas) — et ce qu'elle ne vous indique pas

Vérifié : dpkg dpkg installe et gère les paquets, tandis qu'APT est son interface en ligne de commande de plus haut niveau. Le lock-frontendchemin d'accès est utilisé pour coordonner la gestion des paquets. L'erreur indique donc un conflit de verrouillage lors de l'exécution de la commande, et non nécessairement une base de données de paquets corrompue. Le manuel dpkg d'Ubuntu décrit le rôle de dpkg et l'état des paquets.

Cela dépend de votre système : le processus bloqué peut être un programme de mise à jour graphique, un second programme apten apt-getligne de commande, un installateur de logiciel ou une tâche de maintenance automatique. Ne tirez pas de conclusions hâtives quant au nom du processus à partir du seul message d'erreur. Commencez par fermer toutes les autres fenêtres du gestionnaire de paquets ouvertes et vérifiez les processus actifs sur votre ordinateur.

Ce message ne permet pas d'établir la cause du problème : il ne prouve ni que le fichier de verrouillage est obsolète, ni qu'Ubuntu est bloqué, ni que la base de données des paquets est corrompue. Un fichier de verrouillage peut rester sur le disque après la fin d'un processus ; sa présence seule n'indique pas qu'un processus détient toujours le verrou. Vérifiez la présence d'un processus avant toute modification.

Étape 1 : Vérifier si un gestionnaire de paquets est déjà utilisé

Recherchez le Gestionnaire de mises à jour logicielles, Ubuntu Software ou tout autre terminal en cours d'installation, de mise à jour ou de désinstallation de logiciels. Si une mise à jour est visiblement en cours, laissez-la ouverte et attendez la fin de l'opération. Réessayez ensuite votre commande initiale.

La fenêtre du Programme de mise à jour des logiciels installe des mises à jour. Veuillez patienter jusqu'à la fin de cette opération avant de réessayer la commande du terminal.
Le programme de mise à jour logicielle indique qu'une mise à jour est en cours d'installation ; veuillez patienter jusqu'à la fin de l'installation avant de lancer une autre tâche de mise à jour.

Si aucune mise à jour graphique n'est visible, consultez la liste des processus :

ps -eo pid,ppid,stat,etime,cmd | grep -E '[a]pt|[d]pkg|unattended'

Recherchez des commandes telles que apt`<commande>`, apt-get`<commande> `, `<commande> dpkg` ou unattended-upgrade`<commande>`. Une correspondance est un indice, mais ne prouve pas qu'il s'agit du détenteur du verrou : une recherche peut également afficher des commandes sans rapport ou la vérification elle-même. Notez le PID et la commande, puis examinez le processus à l'étape suivante.

Étape 2 : Identifier le processus qui bloque le processus.

Utilisez cet outil fuserpour vérifier si un processus accède au verrou frontal. Exécutez-le avec des privilèges d'administrateur afin qu'il puisse afficher les processus appartenant à d'autres utilisateurs :

sudo fuser -v /var/lib/dpkg/lock-frontend

Vous pouvez également consulter les autres chemins de verrouillage courants des gestionnaires de paquets :

sudo fuser -v /var/lib/dpkg/lock /var/cache/apt/archives/lock /var/lib/apt/lists/lock

fuserCette commande affiche les identifiants des processus utilisant le fichier spécifié ; son mode détaillé inclut les informations relatives à chaque processus. Si un PID est affiché, comparez-le à la liste des processus et examinez-le en ps -fp PIDremplaçant `<PID>` PIDpar le numéro indiqué. L'outil peut ne renvoyer aucun résultat si aucun processus accessible n'utilise le chemin ; cette information est utile, mais ne permet pas d'identifier la cause de l'échec de la commande précédente. Consultez le manuel de fuser sous Ubuntu pour plus d'informations sur son affichage et ses limitations.

Un terminal vérifie les processus APT et dpkg et demande au fusionneur quel processus accède au verrou frontal.
Commandes du terminal pour vérifier les processus apt et dpkg et identifier un processus à l'aide du verrou frontal.

Étape 3 : Attendez, ou arrêtez uniquement une tâche bloquée confirmée.

Si le processus télécharge des paquets, décompresse des fichiers, configure des paquets ou affiche la progression dans une interface graphique de mise à jour, laissez-le se terminer. Les mises à jour volumineuses et les disques lents peuvent prendre plus de temps que prévu. Une fois l'opération terminée, relancez votre apt-getcommande initiale. Lancer une autre commande APT pendant l'exécution de la première n'accélérera pas sa fin.

Une opération d'installation apt-get est toujours en cours de téléchargement d'un paquet ; sa progression indique que la tâche de téléchargement du paquet en cours devrait pouvoir se terminer.
Exemple d'affichage de la progression dans le terminal pour une opération de téléchargement de paquet apt-get toujours en cours ; les noms des paquets et la sortie varient.

Si une opération semble bloquée, vérifiez si sa sortie, son activité CPU ou disque, ou le temps écoulé évoluent. Aucun délai d'attente unique ne permet de confirmer qu'une tâche est systématiquement bloquée. Si le processus correspond clairement à une commande que vous exécutez au premier plan et que vous pouvez l'interrompre sans risque, utilisez la commande appropriée Ctrl+Cdans ce terminal et laissez-le se terminer correctement. Ne forcez pas l'arrêt d'un processus simplement parce qu'il détient un verrou.

En dernier recours, si vous avez vérifié que le processus ne répond véritablement pas, identifié son PID exact et compris que l'interruption de la configuration des paquets peut laisser des paquets inachevés, envoyez un signal de terminaison normal :

sudo kill -TERM PID

Remplacez PIDpar l'ID de processus confirmé. Évitez d'utiliser `stop` kill -9, killall dpkg`stop` ou ` fuser -kstop` comme solutions de routine ; un arrêt brutal peut interrompre les scripts du package ou entraîner des problèmes de récupération. S'il s'agit d'un service automatique et non d'un processus que vous avez lancé, vérifiez son état ou patientez avant d'interrompre un processus inconnu.

Étape 4 : Réparer la configuration du package uniquement si la tâche précédente a été interrompue.

Si aucun processus APT ou dpkg ne subsiste et que l'installation ou la mise à niveau précédente a été interrompue, demandez à dpkg de terminer la configuration des paquets décompressés, puis vérifiez l'état des paquets APT :

sudo dpkg --configure -a
sudo apt-get check
Après avoir confirmé qu'aucune opération de paquet n'est encore active, la configuration de dpkg et les vérifications des dépendances APT peuvent être exécutées.
Commandes du terminal pour achever la configuration dpkg en attente et vérifier la base de données des paquets après une opération interrompue.

Lisez attentivement les invites et les messages d'erreur. La première commande peut exécuter des scripts de configuration de paquets ; cela peut prendre du temps ou poser des questions. apt-get checkElle vérifie les dépendances cassées. Si elle signale des problèmes de dépendances, examinez les modifications proposées avant de l'utilisersudo apt-get -f install ; cette option tente de réparer les dépendances et peut installer ou supprimer des paquets pour ce faire. N'approuvez pas les suppressions que vous ne comprenez pas. Le manuel d'apt-get d'Ubuntu explique checkcomment procéder --fix-broken.

Idées fausses courantes sur les erreurs de verrouillage

  • « Le fichier de verrouillage est présent, je devrais donc le supprimer. » Non. La présence du fichier à elle seule ne permet pas de savoir si un processus détient le verrou. Le supprimer pendant qu'un processus est en cours d'exécution ne l'arrête pas et peut permettre à une autre commande de paquetage de s'exécuter sur la même base de données de paquetage. Consultez fuserplutôt la liste des processus.
  • « Aucun PID n'a été détecté, la base de données est donc corrompue. » Pas nécessairement. Le processus a peut-être quitté entre deux vérifications, le verrou précédent a peut-être été libéré ou l'erreur peut concerner un autre chemin de verrouillage. Réessayez une fois après avoir vérifié qu'aucune tâche de paquetage n'est en cours. Ne réparez dpkg que si une opération a été interrompue ou si des erreurs de paquetage indiquent une configuration incomplète.
  • Chaque erreur de verrouillage nécessite une réparation dpkg --configure -a. Cette commande traite les opérations de configuration en cours ; elle ne résout pas un verrou toujours détenu par un processus actif. Attendez ou résolvez d'abord le verrou détenu en toute sécurité, puis utilisez la commande de réparation uniquement si nécessaire.
  • Le verrouillage se déverrouille automatiquement après un nombre de minutes fixe. La fréquence des mises à jour automatiques et la durée des tâches dépendent de la version, des paramètres, du réseau et de la machine. Il est préférable de vérifier le processus et sa progression plutôt que de se fier à un minuteur.

Comment savoir si la réparation a fonctionné ?

Réessayez la commande initiale une fois le verrou levé. Une exécution réussie devrait ignorer le message de verrouillage et mener à bien l'opération demandée. Si l'opération dpkg --configure -ase termine apt-get checksans signaler de problème de dépendance, la configuration des paquets et les vérifications de dépendances sont meilleures ; cela ne garantit cependant pas la résolution de tous les problèmes non liés aux dépôts ou au réseau.

Si l'erreur de verrouillage se reproduit immédiatement, notez le chemin d'accès exact au verrou, le résultat de sudo fuser -vla commande correspondante, la commande et l'identifiant du processus (PID) du processus, ainsi que l'état d'avancement de la tâche. Ces informations permettent de distinguer une mise à jour concurrente normale d'un processus nécessitant un dépannage plus approfondi. Ne supprimez pas les fichiers de verrouillage /var/lib/dpkget n'effacez pas les fichiers de verrouillage pour tenter d'identifier le processus.

Références officielles

Laisser un commentaire

Téléchargez FlightGear gratuitement : Guide d’installation officiel

Téléchargez FlightGear gratuitement : Guide d’installation officiel

Téléchargez gratuitement FlightGear depuis le site officiel. Comparez les versions pour Windows, macOS et Linux, installez les fichiers de données et effectuez votre premier vol.

Application Google Tasks pour ordinateur : comment l’utiliser sur un ordinateur

Application Google Tasks pour ordinateur : comment l’utiliser sur un ordinateur

Ouvrez Google Tasks dans un navigateur, ajoutez un raccourci Chrome ou lancez-le comme une application, et gérez vos tâches datées via Agenda et Gmail.

OKSampler : un échantillonneur musical gratuit et simple pour les rythmes au clavier

OKSampler : un échantillonneur musical gratuit et simple pour les rythmes au clavier

OKSampler permet d'associer des clips MP3 à des touches du clavier et de lire des fichiers audio en boucle. Découvrez les fonctionnalités de cette ancienne version gratuite, ses limitations et les points à vérifier avant de la télécharger.

Comment créer une clé USB bootable Windows 11 sous Linux

Comment créer une clé USB bootable Windows 11 sous Linux

Créez une clé USB d'installation Windows 11 sous Linux avec Ventoy : téléchargez l'ISO officiel, installez Ventoy en toute sécurité, copiez l'image et démarrez le PC cible.

Comment jouer à Don't Starve Together sous Linux

Comment jouer à Don't Starve Together sous Linux

Installez la version Linux de Don't Starve Together via Steam, créez un monde ou rejoignez vos amis grâce à ces étapes d'installation et de dépannage.

Comment jouer à Squad sur Linux avec Steam Proton

Comment jouer à Squad sur Linux avec Steam Proton

Configurez Squad sur Linux avec Steam Play et Proton, installez le jeu, choisissez un outil de compatibilité et résolvez les problèmes liés à l'anti-triche.

Comment installer Linux Mint Debian Edition 5 « Elsie » depuis une clé USB

Comment installer Linux Mint Debian Edition 5 « Elsie » depuis une clé USB

Téléchargez et vérifiez l'image ISO archivée de LMDE 5, créez une clé USB bootable et choisissez l'option d'installation sécurisée. Elsie n'est plus prise en charge ; consultez la version actuelle de LMDE.

Comment installer Wireshark sous Linux : Ubuntu, Fedora, Arch et autres distributions

Comment installer Wireshark sous Linux : Ubuntu, Fedora, Arch et autres distributions

Installez Wireshark sur Ubuntu, Debian, Fedora, Arch ou openSUSE avec les commandes de paquets actuelles, puis configurez la capture de paquets en direct en toute sécurité.

Comment jouer à DiRT Rally sur Linux : configuration de Steam et correctifs Proton

Comment jouer à DiRT Rally sur Linux : configuration de Steam et correctifs Proton

Découvrez comment jouer à DiRT Rally sur Linux si vous le possédez déjà sur Steam : installez la version native, lancez-la et n’utilisez Proton qu’en dernier recours.

Comment jouer à It Takes Two sur Linux avec Steam Proton

Comment jouer à It Takes Two sur Linux avec Steam Proton

Apprenez à jouer à It Takes Two sur Linux avec Steam Proton, à installer la version Steam, à activer la compatibilité, à configurer le mode coopératif et à résoudre les problèmes de lancement.