Je reçois cette erreur en essayant d'utiliser apt-get
:
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
Comment puis-je réparer cela?
apt
package-management
dpkg
La Ode Adam Saputra
la source
la source
sudo lsof /var/lib/dpkg/lock
pour trouver le processus qui possède le fichier de verrouillage (s'il est vide, supposez qu'il ne reste plus de verrou depuis un démarrage précédent et qu'il puisse êtresudo rm
d), puis envisagez de faire unsudo kill -9 <PID>
(obtenir <PID> à lalsof
sortie.root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install
, qui semble être lancé à la mise à jour chaque fois que j'allume la machine. En fonction de la taille de la mise à jour (qui correspond souvent au temps écoulé depuis la dernière fois que j'ai utilisé cette machine), cette opération peut durer de 1 à 10 minutes. Ensuite, le verrou est libéré pour les installations et les mises à jour manuelles d’apt. Essayez:sudo ps aux|grep apt
ou `sudo ps aux | grep sans surveillance.Réponses:
Cela devrait être utilisé en dernier recours. Si vous l'utilisez négligemment, vous pouvez vous retrouver avec un système défectueux. S'il vous plaît essayez les autres réponses d' abord avant de faire cela.
Vous pouvez supprimer le fichier de verrouillage à l'aide de la commande suivante:
Vous devrez peut-être également supprimer le fichier de verrouillage dans le répertoire de cache
Après cela, essayez d'ouvrir à nouveau Synaptic.
la source
Je vois à peu près toutes les réponses recommandent de supprimer le verrou. Je ne recommande pas de faire cela comme une première mesure; peut-être s'il n'y a pas d'alternative. Le verrou est placé lorsqu'un processus apt est en cours d'exécution et est supprimé à la fin du processus. S'il existe un verrou sans processus apparent en cours, cela peut signifier que le processus est bloqué pour une raison quelconque.
Si tu essayes
ou
cela attrapera des processus contenant le mot
apt
, au moins. Si vous voyez unapt-get
processus ou unaptitude
processus qui semble bloqué, vous pouvez essayeret si cela ne fonctionne pas, essayez
Cela devrait tuer le processus et peut supprimer le verrou. Tuer un processus
apt
ou unaptitude
processus est inoffensif, sauf s'il est en cours d'installation du paquet. Dans tous les cas, si le processus est bloqué, vous n'avez probablement pas d'autre choix que de le tuer.Tuer un
dpkg
processus directement, s'il est présent, n'est pas une bonne idée, car s'ildpkg
est actif, il manipule probablement la base de données de packages et sa suppression peut laisser la base de données de packages dans un état incohérent. ie corrompu.Tuer un processus
apt-get
ou unaptitude
processus est en général beaucoup plus sûr.la source
dpkg
soit une bonne idée, car en général, ildpkg
manipule directement la base de données de paquets, ce qui pourrait provoquer une corruption.dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
lors de lasudo apt-get dist-upgrade
prochaine exécution . L'exécution de la commande a ensuite résolu le problème. J'aime Nix!killall apt-get
fait la même chose que votreps
/kill
combo.sudo dkpg --configure -a
après avoir éliminé le processus apt voyou pour que les choses redeviennent normales.Supprimez votre
/var/lib/dpkg/lock
fichier et forcez la reconfiguration du package.Cela devrait fonctionner après cela.
la source
sudo
- exécuter la commande en tant que root,rm
- supprimer le fichier. Peut-être essayersudo rm /var/cache/apt/archives/lock
Vous obtiendrez ce message si vous oubliez de l'utiliser
sudo
lors de l'exécution d'une commande apt.Sinon, cela indique que quelque chose d'autre installe ou supprime un logiciel et a verrouillé la base de données apt pendant qu'il effectue les actions. Les programmes qui peuvent faire cela sont:
IMPORTANT: n'essayez le dernier ci-dessous qu'en dernier recours, car cela pourrait planter votre système. Essayez d'abord de tuer n'importe quelle instance en cours
apt
ouaptitude
comme décrit dans la réponse de Faheem .Vous pouvez forcer le verrouillage en supprimant le fichier, mais il est déconseillé de fermer le programme qui le verrouille en toute sécurité , car vous pourriez provoquer une corruption ou interrompre une installation (incorrecte). La commande fournie par João devrait fermer le programme qui détient le verrou, puis le supprimer, mais ne vous protégera pas des interruptions d'installation:
Et la même commande peut être utilisée pour le verrou de cache d'apt:
la source
sudo fuser -cuk /var/cache/apt/archives/lock
directement redémarré mon ordinateur.apt-get
est maintenant débloqué.Le moyen le plus probable de frapper ceci est
sudo apt-get install whatever
et la ligne de commande
apt
chevauche la scrutationupdate-manager
automatique.Donc, si vous réessayez dans quelques minutes, cela devrait régler le problème.
la source
sudo apt-get install
pouvoir travailler.Un seul programme peut tenir le verrou. Assurez-vous que vous n’exécutez pas aptitude, synaptic ou adepte. Fermez le programme et exécutez-le à nouveau, cela devrait fonctionner. Vous pouvez soit ouvrir synaptique, soit ouvrir une autre fenêtre de terminal exécutant apt-get, soit faire exécuter le gestionnaire de mise à jour. les exécute, fermez-le et réessayez
Essayez cette commande dans le terminal pour trouver ce qui fonctionne
Remarque:
Si cela n’imprime rien, tapez ce qui suit dans le terminal pour supprimer le verrou.
Vous pouvez maintenant installer n’importe quel forfait.
la source
pgrep -f 'apt|adept|dpkg'
est beaucoup plus courte.pgrep -a 'apt|adept|dpkg'
est un meilleur équivalent plus court.Jusqu'ici, le meilleur moyen de le faire fonctionner sans interrompre une éventuelle installation en arrière-plan (comme cela pourrait être le cas en supprimant le fichier de verrouillage) consiste à arrêter le service à l'aide d'apt:
Erreur:
Solution:
Après la mise à niveau du système, je suggère de le réactiver, car le bogue qui le verrouille pourrait être corrigé avec la mise à niveau.
sudo systemctl start apt-daily.timer
Je n'ai pas vérifié que cette erreur est corrigée après la mise à niveau. Je vais ajouter un nouveau commentaire une fois que j'ai vérifié
la source
Tout d’abord, nous devons vérifier quel processus a créé le fichier de verrouillage en utilisant
lsof
:ou dans une autre situation où
/var/lib/apt/lists/lock
est problématique:La sortie sera proche de quelque chose comme:
Ensuite, nous devrions vérifier ce que fait la commande, nous pouvons le trouver en utilisant
ps
,pgrep
etc. la commande estapt-get
donc je lance:Le
-a
commutateur liste la commande complète pour moi, dans mon cas c'est:nous pouvons voir que cela fonctionne
update
sous-commande, je pourrais exécuter quelque chose comme ceci aussi:qui produit:
Dans ce cas, j'attendrais une minute pour que la ressource soit libérée et si, au bout de 2 ou 3 minutes, le problème persiste ou si la commande est une chose qui ne me concerne pas ou qui ne nuit pas au système (comme celui-ci
apt-get update
), j'envoie un messageSIGTERM
à le processus:Cela devrait faire le travail, sinon, je vais envoyer
SIGINT
cette fois-ci (c'est comme appuyer sur CTRL+ C):Si cela ne fonctionne pas aussi, nous devrions envoyer un
SIGHUP
(kill -1
), et finalement si rien ne fonctionne, je tue simplement le processus:ou
Ensuite, je supprime les ressources occupées:
la source
/var/lib/dpkg/lock
plutôt que/var/lib/apt/lists/lock
le fichier dans la question.pgrep
etpkill
.dpkg --configure -a
pourrait également être nécessaireCette erreur peut être provoquée par le gestionnaire de mise à jour qui tente d'actualiser automatiquement la liste des packages en arrière-plan, généralement juste après votre connexion, verrouillant ainsi le répertoire.
Dans ce cas, attendez quelques secondes (ou plus, si votre dernière mise à jour date d'il y a longtemps) pour qu'elle soit terminée ou lancez Update Manager pour vérifier l'état.
la source
ps
quelques rafraîchissements , j’ai pu constater ladpkg
mise à jour de tout un tas de choses et j’attendais patiemment que tout soit terminé. . J'ai ensuite exécuté Software Updater jusqu'à ce que tout soit à jour avant d'essayer d'installer quelque chose de nouveau.Cela se produira si «Update Manager» est exécuté en parallèle pour toute vérification de mise à jour ou installation en tant que processus d'installation verrouille. Si vous faites face à la même erreur sans que 'Update Manager' ne soit exécuté, vous devez le supprimer
/var/lib/dgkg/lock
, ce que vous ne pouvez certainement pas faire manuellement.fonctionne bien. Tiré de: https://askubuntu.com/a/15469/68707
la source
Ne soyez pas si rapide pour supprimer quelque chose, cela pourrait endommager totalement votre système; attendez plutôt que le programme en cours d’installation ou de désinstallation ait terminé sa tâche, après quoi vous aurez accès. Si vous pensez qu'il n'y a rien d'installation ou de désinstallation en cours, redémarrez simplement votre système avec la commande
sudo reboot
.la source
Si vous avez des mises à jour de sécurité configurées pour une installation automatique, cela se produira fréquemment. J'attends littéralement 30 secondes et le problème est résolu. Il suffit de jeter cela au cas où quelqu'un d'autre rencontrerait ce problème.
la source
Dans mon cas, j'ai dû attendre plusieurs minutes pour que le verrou soit libéré (on dirait qu'il est
apt
utilisé pour le maintenir). Tout cela s'est passé juste après le démarrage du système.la source
Juste
sudo rm -f /var/lib/apt/lists/lock
et essayez à nouveau.apt-fast PEUT être tenu responsable de ne pas déverrouiller correctement; cela se produit parfois lorsque vous avortez
apt-get
oudpkg
trop.la source
J'ai eu ce problème à plusieurs reprises. Pour moi, c’était presque toujours dû à apt-get ou à une interface graphique qui l’appelait se faire accrocher pour une raison quelconque. Je devais le tuer, ce qui laissait diverses serrures en place.
Les autres réponses apportent de très bons arguments pour s'assurer qu'aucune mise à jour n'est en cours d'exécution avant de procéder de manière radicale, telle que la suppression des fichiers verrouillés. Cependant, une fois que vous êtes sûr que ce n'est pas le cas, ce qui suit fonctionne généralement pour moi. Je l'ai eu en lisant de nombreuses réponses à des questions comme celle-ci.
Bien que la plupart ou la totalité de ces éléments soient présentés dans les autres réponses, cela résume le correctif en quelques commandes.
Utilisez cette option pour déverrouiller le système de paquets après une mise à jour en panne ou terminée sans terminer de quelque manière que ce soit. Ces commandes doivent être exécutées dans l'ordre présenté.
la source
Je ne vois pas cette réponse ailleurs que sur Ubuntu 16.04, j'ai aussi rencontré ce problème. La cause était le temps sur mon ordinateur a été placé dans le futur . (C’est parce que je suis sur un système à double démarrage Windows + Ubuntu et que je suppose que j’ai gaché l’heure locale par rapport à l’heure UTC.)
Une chose étrange était que la date et l'heure du fichier verrouillé étaient exactement la date et l'heure auxquelles j'ai exécuté le programme.
J'ai ensuite utilisé "fuser" comme décrit dans les messages précédents et apt a fonctionné, mais je me suis plaint d'avoir besoin de fonctionner
dpkg -a -reconfigure
. Quand j'ai fait ça, j'ai eu des erreurs comme:dans des fichiers tels que '/ var / lib / dpkg / updates / 0003'.
Tout cela était très étrange car je ne l'avais jamais vu auparavant. Alors, je pensais que c'était des symptômes et j'ai changé mes données et mon heure manuellement. Je savais qu'il y avait un problème avec la date / heure lorsque je me suis connecté, mais je l'ignorais. (Auparavant, il le configurait automatiquement via Internet et NTP).
Ensuite, tous les problèmes ci-dessus ont été résolus ... J'espère que cela aidera quelqu'un d'autre! Le symptôme le plus notable est peut-être que la date / heure du fichier de verrouillage est la date / heure exacte à laquelle vous essayez d'exécuter la commande.
la source
Dans mon cas, X s'est écrasé alors qu'il
apt-get
était encore en train de retirer de vieux noyaux. J'ai utilisé le Moniteur système pour confirmer qu'il était toujours en cours d'exécution et non bloqué. Tout allait bien une fois le processus terminé.la source
Vérifiez le lanceur pour voir si
Software Updater
est en cours d'exécution. Si c'est le cas, maximisez-le et regardez ce qu'il fait. S'il est toujours en train de vérifier, attendez qu'il soit terminé. À la fin, il vous dira peut-être que le logiciel est à jour, fermez donc l'application. S'il est indiqué que des mises à jour sont disponibles, effectuez la mise à jour ou cliquez sur "me le rappeler plus tard". Après que cette application se ferme, vous pouvez revenir à utiliserapt-get
ouapt
.Si
Software Updater
n'est pas en cours d'exécution, utilisez simplement le tiret pour l'invoquer, puis attendez qu'il soit terminé, puis décidez si vous souhaitez mettre à jour ou cliquez sur "me le rappeler plus tard". Après que cette application se ferme, vous pouvez revenir à utiliserapt-get
ouapt
.la source
Dans mon cas, je recevais le même message en ne réalisant pas que j'avais basculé en tant qu'utilisateur root et que j'essayais sudo apt-get. Une fois que j'ai réalisé cela, j'ai juste lancé apt-get, et cela a fonctionné. Stupide, mais cela pourrait quand même expliquer l'erreur pour certains.
la source
sudo
tant que root (et même si vous ne le pouviez pas, cela ne produirait pas ce message d'erreur). Ce qui est probablement arrivé est que l'autre processus s'est terminé pendant que vous écriviez la commande suivante.À utiliser à vos risques et périls
la source
dans mon cas, après:
j'ai tapé $
alors je reçois que des problèmes J'ai corrigé cela en exécutant la commande qui m'était montrée après l'exécutionsudo apt update
Cette commande va vous montrer une liste de programmes dans mon cas que Firefox, j'ai fermé Firefox, puis pourrait relancer la commande sans problèmes.
la source
Pour les personnes intéressées par la prévention proactive de ce bogue dans leurs scripts, j’ai constaté que le drapeau -q
apt upgrade -yq
était la cause de ce problème pour moi. Au cours du processus de mise à niveau, des avertissements me sont parfois donnés (par exemple, si je souhaite continuer à mettre à jour le bureau), et si ces avertissements étaient supprimés, je suppose que cela pourrait ne pas déverrouiller les fichiers qu'il protégeait. et il s'est coincé.Certes, j’ai eu du mal à reproduire cette erreur 100% du temps, mais l’élimination de cette option -q a complètement corrigé le problème .
la source
Comme la plupart des gens, j'ai attendu que le verrou soit retiré. Au bout de 30 minutes, j'ai abandonné et je me suis lancé dans une distribution différente. De là, j'ai utilisé Internet pour des recherches qui m'ont conduit ici.
Il s'avère que
unattended-upgrades.service
c'est en cours d'exécution. J'ai trouvé que redémarrer dans le système cassé et en cours d'exécution:m'a permis de faire fonctionner à nouveau le système défectueux pour:
Cependant, cela n'a pas corrigé les paquets conservés et la situation impossible signalée par
apt
. Il semblerait que cela a étéapt
à l'origine du blocage au démarrage.la source