Correction: impossible d'ouvrir le fichier de verrouillage / var / lib / dpkg / lock

Obtenir le message d'erreur Impossible d'ouvrir le fichier de verrouillage / var / lib / dpkg / lock peut être déroutant car il pourrait très bien vous demander si vous êtes root immédiatement après, même si vous exécutiez une commande de mise à jour avec le préfixe sudo. Cette commande d'erreur apparaîtra sur presque tout ce qui utilise le gestionnaire de paquets apt-get. Que vous mettiez à jour un ordinateur de bureau ou un ordinateur portable exécutant l'une des différentes versions d'Ubuntu ou un Raspberry Pi avec la version Raspbian Debian, vous constaterez peut-être que cela peut être un problème sur l'une de ces plates-formes.

Néanmoins, le correctif est assez simple. Vous pouvez généralement ignorer tout ce qui vous demande si vous êtes root ou non et aller directement au cœur du problème, qui est lié à deux processus qui tentent d'accéder à un fichier verrouillé en même temps.

Méthode 1: S'assurer que sudo peut accéder à chaque partie de la commande

Si vous exécutez sudo apt-get update && apt-get upgrade, vous risquez de recevoir cette erreur car le deuxième processus n'a pas les droits d'accès au fichier / var / lib / dpkg / lock.

Essayez plutôt d'exécuter sudo apt-get update && sudo apt-get upgrade pour voir si cela fait une différence. Si tel est le cas, votre problème est déjà résolu et c'est simplement parce que vous ne donniez pas au deuxième processus les autorisations suffisantes pour accéder au fichier. Gardez à l'esprit que cette commande mettra à jour puis mettra à niveau tous vos packages, elle peut donc vous demander de l'approuver et son exécution peut prendre un certain temps.

Sinon, cependant, le problème est déjà complètement réglé et vous n'avez rien d'autre à faire.

Méthode 2: suppression du fichier / var / lib / dpkg / lock

Ceux qui utilisent curl, wget ou une autre commande qui télécharge un fichier discrètement peuvent également avoir à faire précéder cette commande avec sudo s'ils travaillent à partir de Raspbian, car cela remplace apt-get dans certains cas. Ceux qui travaillent avec Debian pur, Xubuntu, Lubuntu, Linux Mint et d'autres ordinateurs de bureau / portables similaires n'auront pas à s'inquiéter à ce sujet, mais cela peut valoir la peine d'essayer de nouveau.

Si cela ne fonctionne toujours pas, vous devrez peut-être vérifier qu'aucun autre programme n'essaie d'accéder au fichier pendant que vous exécutez votre mise à jour. Essayez d'utiliser sudo lsof / var / lib / dpkg / lock pour voir si d'autres processus en cours d'exécution l'ont ouvert. Si vous l'avez ouvert quelque part, vous pouvez simplement fermer l'application.

Gardez à l'esprit qu'avoir un accès en lecture et en écriture à une application pour ouvrir ce fichier signifie par extension que ledit programme doit avoir les privilèges root, vous aurez donc besoin des privilèges root pour fermer le programme. Vous pouvez même essayer de parcourir l'application Gestionnaire de tâches si vous utilisez un environnement de bureau graphique prenant en charge cette fonctionnalité. Cliquez simplement avec le bouton droit sur le processus incriminé et fermez-le si vous en avez l'autorisation. Essayez également les commandes kill ou killall depuis la ligne de commande.

Vous pouvez maintenant essayer d'exécuter à nouveau vos commandes apt-get et voir si cela fait une différence, mais vous n'aurez rien d'autre à faire si c'était le cas. Si vous rencontrez toujours des problèmes, essayez de supprimer complètement les fichiers de verrouillage. Bien que cela ne devrait être considéré qu'en dernier recours, cela ne pose généralement aucun problème lié au programme apt-get. Vous voudrez toujours épuiser les autres méthodes avant de le faire car cela peut perturber le système apt.

Le redémarrage aide parfois, mais si vous êtes constamment sur un serveur ou un périphérique Raspbian, cela peut ne pas être une option viable. Essayez d'exécuter sudo rm / var / lib / dpkg / lock && sudo rm / var / lib / apt / lists / lock , ce qui libérera les fichiers particuliers qu'apt examine lorsque vous l'exécutez. Assurez-vous de faire attention aux noms de ces fichiers, car exécuter rm en tant que root est destructeur.

En supposant que vous l'avez fait après avoir épuisé les autres options, vous pouvez réessayer d'exécuter vos commandes de mise à jour et voir ce qui se passe. Vous ne devriez plus avoir de problèmes car les fichiers n'existeraient plus à ce stade, bien que les routines apt-get puissent les reconstruire pendant leur exécution.