Ich erhalte diesen Fehler, wenn ich versuche, Folgendes zu verwenden 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?
Wie kann ich das beheben?
apt
package-management
dpkg
La Ode Adam Saputra
quelle
quelle
sudo lsof /var/lib/dpkg/lock
den Prozess finden, der die Sperrdatei besitzt (wenn leer, wird angenommen, dass die Sperre von einem vorherigen Start übrig geblieben ist undsudo rm
d sein kann), und dann überlegensudo kill -9 <PID>
, <PID> von derlsof
Ausgaberoot <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install
Update" ausgeführt wird, wenn ich den Computer einschalte. Abhängig von der Größe des Updates (was häufig der Zeit entspricht, seit ich diesen Computer das letzte Mal verwendet habe), kann dies 1 bis 10 Minuten dauern. Danach wird die Sperre für die manuelle Installation und Aktualisierung freigegeben. Versuchen Sie:sudo ps aux|grep apt
oder `sudo ps aux | grep unbeaufsichtigt.Antworten:
Dies sollte als letzter Ausweg verwendet werden. Wenn Sie dies unachtsam verwenden, können Sie mit einem kaputten System enden. Bitte versuchen Sie, die anderen Antworten zuerst , bevor dies zu tun.
Sie können die Sperrdatei mit dem folgenden Befehl löschen:
Möglicherweise müssen Sie auch die Sperrdatei im Cache-Verzeichnis löschen
Versuchen Sie danach erneut, Synaptic zu öffnen.
quelle
Ich sehe so ziemlich alle Antworten, die das Löschen der Sperre empfehlen. Ich empfehle das nicht als erste Maßnahme; Vielleicht, wenn es keine Alternative gibt. Die Sperre wird gesetzt, wenn ein apt-Prozess ausgeführt wird, und wird entfernt, wenn der Prozess abgeschlossen ist. Wenn eine Sperre ohne erkennbaren Prozess ausgeführt wird, kann dies bedeuten, dass der Prozess aus irgendeinem Grund hängen bleibt.
Wenn du es versuchst
oder
das wird
apt
zumindest Prozesse abfangen, die das Wort enthalten . Wenn Sie einenapt-get
Prozess sehen oder einenaptitude
Prozess, der nicht funktioniert, können Sie es versuchenund wenn das nicht funktioniert, versuche es
Dies sollte den Prozess abbrechen und möglicherweise die Sperre entfernen. Das Beenden eines
apt
oderaptitude
-Prozesses ist harmlos, es sei denn, es befindet sich mitten in der Paketinstallation. In jedem Fall, wenn der Prozess stecken geblieben ist, haben Sie wahrscheinlich keine andere Wahl, als ihn zu töten.Das
dpkg
direkte Beenden eines Prozesses, falls vorhanden, ist keine gute Idee, da beidpkg
Aktivierung wahrscheinlich die Paketdatenbank manipuliert wird und das Beenden die Paketdatenbank möglicherweise in einem inkonsistenten Zustand belässt. dh beschädigt.Das Töten eines
apt-get
oder einesaptitude
Prozesses ist im Allgemeinen viel sicherer.quelle
dpkg
eine gute Idee, da normalerweisedpkg
die Paketdatenbank direkt manipuliert wird und dies zu Korruption führen kann.dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
beimsudo apt-get dist-upgrade
erneuten Ausführen . Durch Ausführen des Befehls wurde das Problem behoben. Ich liebe Nix!killall apt-get
macht das gleiche wie Ihreps
/kill
Combo.sudo dkpg --configure -a
nach dem Beenden des Schurken-Apt-Prozesses ausgeführt werden musste, damit die Dinge wieder normal werden.Entfernen Sie Ihre
/var/lib/dpkg/lock
Datei und erzwingen Sie eine Neukonfiguration des Pakets.Danach sollte es funktionieren.
quelle
sudo
- Befehl als root ausführen,rm
- Datei entfernen. Vielleicht versuchensudo rm /var/cache/apt/archives/lock
Sie erhalten diese Meldung, wenn Sie vergessen haben,
sudo
einen apt-Befehl auszuführen.Andernfalls ist dies ein Zeichen dafür, dass etwas anderes Software installiert oder entfernt und die apt-Datenbank gesperrt hat, während sie die Aktionen ausführt. Die Programme, die dies tun können, sind:
WICHTIG: Versuchen Sie Folgendes nur als letzten Ausweg, da dies zu einem Absturz Ihres Systems führen kann. Versuchen Sie zunächst, eine laufende Instanz von
apt
oderaptitude
wie in Faheems Antwort beschrieben zu töten .Sie können das Aufheben der Sperre erzwingen, indem Sie die Datei entfernen. Dies wird jedoch nicht empfohlen , wenn Sie nicht das Programm schließen, das die Sperre schützt , da dies zu Beschädigungen führen oder eine Installation unterbrechen kann (fehlerhaft). Der von João bereitgestellte Befehl sollte das Programm schließen, das die Sperre enthält, und dann die Sperre entfernen, aber Sie nicht vor Installationsunterbrechungen schützen:
Und der gleiche Befehl kann für die Apt-Cache-Sperre verwendet werden:
quelle
sudo fuser -cuk /var/cache/apt/archives/lock
direkt meinen Computer neu gestartet.apt-get
ist jetzt freigeschaltet.Der wahrscheinlichste Weg, dies zu erreichen, ist:
sudo apt-get install whatever
und die Befehlszeile
apt
überschneidet sich mit derupdate-manager
automatischen Abfrage.Wenn Sie es also in ein paar Minuten erneut versuchen, sollte das Problem behoben sein.
quelle
sudo apt-get install
es funktionieren konnte.Nur ein Programm kann die Sperre halten. Stellen Sie sicher, dass Sie nicht aptitude, synaptic oder adept ausführen. Schließen Sie das Programm und führen Sie es erneut aus. Es sollte funktionieren. Sie haben entweder synaptic geöffnet oder ein anderes Terminalfenster geöffnet, das apt-get ausführt, oder Sie haben den Update-Manager ausgeführt. Prüfen Sie, ob eines dieser Programme ausgeführt wird sie läuft dicht dran und versucht es nochmal.
Probieren Sie diesen Befehl im Terminal aus, um herauszufinden, was gerade läuft
Hinweis:
Wenn dadurch nichts gedruckt wird, geben Sie Folgendes in das Terminal ein, um die Sperre zu entfernen
Jetzt können Sie beliebige Pakete installieren.
quelle
pgrep -f 'apt|adept|dpkg'
ist viel kürzer.pgrep -a 'apt|adept|dpkg'
ist ein besseres kürzeres Äquivalent.Der beste Weg, um die Installation zum Laufen zu bringen, ohne einen möglichen Hintergrundfehler zu verursachen (beispielsweise durch Entfernen der Sperrdatei), besteht darin, den Dienst mit apt zu stoppen:
Error:
Lösung:
Nach dem Upgrade des Systems schlage ich vor, es wieder zu aktivieren, da die Fehlersperre beim Upgrade behoben werden könnte.
sudo systemctl start apt-daily.timer
Ich habe nicht überprüft, ob dieser Fehler nach dem Upgrade behoben wird. Sobald ich das überprüft habe, werde ich einen neuen Kommentar hinzufügen
quelle
Zuerst sollten wir überprüfen, welcher Prozess die Sperrdatei erstellt hat
lsof
:oder in einer anderen Situation, in der
/var/lib/apt/lists/lock
es problematisch ist:Die Ausgabe wird ungefähr so aussehen:
Dann sollten wir überprüfen , was die commad tun ist, können wir es herausfinden, mit
ps
,pgrep
etc; Der Befehl lautet wie folgtapt-get
:Der
-a
Schalter listet den vollständigen Befehl für mich auf, in meinem Fall ist es:wir können sehen, dass es einen
update
Unterbefehl ausführt, ich könnte auch so etwas ausführen:welche produziert:
In diesem Fall würde ich einige Minuten warten, bis die Ressource freigegeben ist, und wenn nach 2 oder 3 Minuten noch ein Problem vorliegt oder der Befehl etwas war, das mir egal war oder das für das System nicht schädlich war (so
apt-get update
), sende ich eineSIGTERM
an der Prozess:Es sollte die Arbeit erledigen. Wenn es nicht so wäre, würde ich
SIGINT
diesmal senden (es ist so, als würde man CTRL+ drücken C):Wenn es auch nicht funktioniert hat, sollten wir ein
SIGHUP
(kill -1
) senden , und wenn nichts funktioniert, bringe ich den Prozess einfach zum Erliegen:oder
Dann entferne ich ausgelastete Ressourcen:
quelle
/var/lib/dpkg/lock
eher als/var/lib/apt/lists/lock
die Datei in der Frage ist.pgrep
undpkill
.dpkg --configure -a
möglicherweise auch dies erforderlichDieser Fehler kann dadurch verursacht werden, dass der Update Manager versucht, die Liste der Pakete im Hintergrund automatisch zu aktualisieren, normalerweise direkt nach Ihrer Anmeldung, wodurch das Verzeichnis gesperrt wird.
Warten Sie in diesem Fall nur einige Sekunden (oder länger, wenn Ihr letztes Update schon lange her ist), bis es abgeschlossen ist, oder starten Sie Update Manager, um den Status zu überprüfen.
quelle
ps
ein paardpkg
Aktualisierungen konnte ich sehen, dass eine ganze Menge Dinge aktualisiert wurden, und ich wartete geduldig darauf, dass alles fertig war . Ich habe dann Software Updater ausgeführt, bis alles auf dem neuesten Stand war, bevor ich versuchte, etwas Neues zu installieren.Dies ist der Fall, wenn Sie den 'Update Manager' parallel für eine Update-Überprüfung ausführen oder installieren, während der Installationsvorgang die Sperre aktiviert. Wenn derselbe Fehler auftritt, ohne dass 'Update Manager' ausgeführt wird, müssen Sie ihn entfernen
/var/lib/dgkg/lock
, was definitiv nicht manuell möglich istfunktioniert gut. Entnommen aus: https://askubuntu.com/a/15469/68707
quelle
Gehen Sie nicht so schnell vor, um etwas zu entfernen, da dies Ihr System vollständig beschädigen kann. Warten Sie lieber, bis das aktuell installierte oder deinstallierte Programm seine Aufgabe beendet hat, und erhalten Sie dann Zugriff. Wenn Sie der Meinung sind, dass derzeit nichts installiert oder deinstalliert wird, starten Sie Ihr System einfach mit dem Befehl neu
sudo reboot
.quelle
Wenn Sie Sicherheitsupdates für die automatische Installation eingerichtet haben, geschieht dies häufig. Ich warte buchstäblich 30 Sekunden und es behebt das Problem. Wirf das einfach raus, falls jemand anderes auf dieses Problem stößt.
quelle
In meinem Fall musste ich einige Minuten warten, bis das Schloss freigegeben wurde (es scheint, als wäre
apt
es zum Halten verwendet worden). Dies alles geschah direkt nach dem Systemstart.quelle
Einfach
sudo rm -f /var/lib/apt/lists/lock
und versuchen Sie es erneut.apt-fast ist möglicherweise dafür verantwortlich, dass das Entsperren nicht ordnungsgemäß erfolgt. Dies passiert manchmal, wenn Sie abbrechen
apt-get
oderdpkg
auch.quelle
Ich habe dieses Problem schon oft gehabt. Für mich wurde es fast immer durch apt-get oder eine GUI verursacht, die es aus irgendeinem Grund als hängen geblieben bezeichnete. Ich musste es töten, was verschiedene Schlösser an Ort und Stelle ließ.
Die anderen Antworten enthalten sehr gute Argumente dafür, dass derzeit keine Updates ausgeführt werden, bevor drastische Maßnahmen wie das Entfernen von Sperrdateien ergriffen werden. Wenn Sie sich jedoch sicher sind, dass dies nicht der Fall ist, funktioniert Folgendes normalerweise für mich. Ich habe viele Antworten auf Fragen wie diese gelesen.
Während das meiste oder alles in den anderen Antworten dargestellt wird, beschränkt sich dies auf ein paar Befehle.
Wird zum Entsperren des Paketsystems verwendet, nachdem ein Update abgestürzt ist oder abgebrochen wurde, ohne dass es auf andere Weise beendet wurde. Diese Befehle sollten in der angegebenen Reihenfolge ausgeführt werden.
quelle
Ich sehe diese Antwort nirgendwo oben, aber unter Ubuntu 16.04 bin ich ebenfalls auf dieses Problem gestoßen. Die Ursache war, dass die Zeit auf meinem Computer auf die Zukunft eingestellt war . (Das liegt daran, dass ich ein Windows + Ubuntu-Dual-Boot-System verwende und die Ortszeit gegen die UTC-Zeit verfälscht habe.)
Eine seltsame Sache war, dass das Datum und die Uhrzeit der gesperrten Datei genau dem Datum und der Uhrzeit entsprachen, an denen ich das Programm ausgeführt habe.
Ich habe dann "fuser" verwendet, wie in früheren Beiträgen beschrieben, und es hat funktioniert, aber ich bekam Beschwerden darüber, dass ich laufen muss
dpkg -a -reconfigure
. Als ich das tat, bekam ich Fehler wie:in Dateien wie '/ var / lib / dpkg / updates / 0003'.
Das alles war sehr seltsam, wie ich es noch nie gesehen habe. Also dachte ich, das wären Symptome und änderte meine Daten und meine Zeit manuell. Ich wusste, dass beim Anmelden ein Problem mit dem Datum und der Uhrzeit aufgetreten ist, ignorierte es jedoch. (Bisher wurde es automatisch über das Internet und NTP eingestellt).
Dann wurden alle oben genannten Probleme behoben ... Hoffentlich hilft dies jemand anderem! Das auffälligste Symptom ist möglicherweise das Datum und die Uhrzeit der Sperrdatei, also das genaue Datum und die Uhrzeit, zu der bzw. der Sie versuchen, den Befehl auszuführen.
quelle
In meinem Fall ist X abgestürzt,
apt-get
als noch alte Kernel entfernt wurden. Ich habe den Systemmonitor verwendet, um zu bestätigen, dass er noch ausgeführt wird und nicht hängen bleibt. Sobald der Prozess abgeschlossen war, war alles in Ordnung.quelle
Überprüfen Sie den Launcher, um festzustellen, ob er ausgeführt
Software Updater
wird. Wenn ja, maximieren Sie es und schauen Sie sich an, was es tut. Wenn es immer noch überprüft wird, warten Sie, bis der Vorgang abgeschlossen ist. Wenn der Vorgang abgeschlossen ist, wird Ihnen möglicherweise mitgeteilt, dass die Software auf dem neuesten Stand ist. Schließen Sie daher die App. Wenn es heißt, dass Updates verfügbar sind, führen Sie entweder das Update durch oder klicken Sie auf "Später erinnern". Danach wird diese App geschlossen und Sie können wiederapt-get
oder verwendenapt
.Wenn
Software Updater
es nicht ausgeführt wird, rufen Sie es einfach mit dem Dash auf und warten auf den Abschluss. Entscheiden Sie dann, ob Sie ein Update durchführen möchten, oder klicken Sie auf "Später erinnern". Danach wird diese App geschlossen und Sie können wiederapt-get
oder verwendenapt
.quelle
In meinem Fall bekam ich die gleiche Nachricht, weil ich nicht merkte, dass ich zum Root-Benutzer gewechselt war und sudo apt-get ausprobierte . Als ich das bemerkte, lief ich apt-get und es funktionierte. Dumme, aber es könnte immer noch den Fehler für einige erklären.
quelle
sudo
als root (und selbst wenn Sie konnte nicht, es würde diese Fehlermeldung nicht erzeugen). Es ist wahrscheinlicher, dass der andere Prozess beendet wurde, während Sie den nächsten Befehl geschrieben haben.Benutzung auf eigene Gefahr
quelle
in meinem Fall nach:
Ich tippte
dann bekomme ich das probleme Ich habe das behoben, indem ich den Befehl ausgeführt habe, der mir nach dem Ausführen gezeigt wurdesudo apt update
Dieser Befehl zeigt Ihnen eine Liste der Programme, in meinem Fall nur Firefox. Ich habe Firefox geschlossen und konnte den Befehl dann ohne Probleme erneut ausführen.
quelle
Für Leute, die daran interessiert sind, diesen Fehler proaktiv in ihren Skripten zu verhindern, habe ich festgestellt, dass das Flag -q aktiviert ist
apt upgrade -yq
dieses Problem für mich verursacht. Während des Aktualisierungsprozesses erhalte ich gelegentlich Warnungen (etwa wie beim Aktualisieren des Desktops, möchte ich fortfahren), und wenn diese Warnungen unterdrückt würden, würde dies dazu führen, dass apt die geschützten Dateien nicht entsperrt und es blieb stecken.Zugegeben, ich hatte Probleme, diesen Fehler 100% der Zeit zu reproduzieren, aber das Ausschalten der Option -q hat das Problem für mich vollständig behoben .
quelle
Wie die meisten anderen wartete ich darauf, dass das Schloss entfernt wurde. Nach 30 Minuten gab ich es auf und startete hart zu einer anderen Distribution. Von dort aus nutzte ich das Internet für Recherchen, die mich hierher brachten.
Es stellt sich heraus,
unattended-upgrades.service
läuft. Ich fand, dass in das defekte System neu gebootet und ausgeführt wird:erlaubte mir, das kaputte System wieder zum Laufen zu bringen für:
Es hat jedoch nicht die zurückgehaltenen Pakete und die unmögliche Situation behoben, von der
apt
in erster Linie berichtet wurde. Es scheint, als würde diesapt
in erster Linie dazu führen , dass der Computer beim Booten abstürzt.quelle