Kann das Administrationsverzeichnis (/ var / lib / dpkg /) nicht gesperrt werden?


1026

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?


18
Dies gilt auch, wenn Sie neu starten? Vielleicht sperrt ein alter apt-Thread die Datei, Sie müssen herausfinden, welche und töten es oder nur ein Neustart wird es tun.
Bruno Pereira

4
Dieses Verfahren behebt fast immer dieses Problem, und wenn dies nicht der Fall ist, ist die Ausgabe (der Text vom Terminal) manchmal nützlich. Wenn Sie sich dazu entschließen, können Sie diesen Text zu Ihrer Frage hinzufügen.
Eliah Kagan

54
Sie können sudo lsof /var/lib/dpkg/lockden Prozess finden, der die Sperrdatei besitzt (wenn leer, wird angenommen, dass die Sperre von einem vorherigen Start übrig geblieben ist und sudo rmd sein kann), und dann überlegen sudo kill -9 <PID>, <PID> von der lsofAusgabe
abzurufen

11
Dies kann ein Zeichen dafür sein, dass etwas anderes Software installiert oder entfernt und die apt-Datenbank während der Ausführung der Aktionen gesperrt hat.
foreever

5
Auf meiner Ubuntu 18.04-VM gibt es einen Prozess namens "Unattended-Update", der von einem Prozess wie "Apt root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held installUpdate" 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 aptoder `sudo ps aux | grep unbeaufsichtigt.
Kjetil S.

Antworten:


876

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:

sudo rm /var/lib/apt/lists/lock

Möglicherweise müssen Sie auch die Sperrdatei im Cache-Verzeichnis löschen

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

Versuchen Sie danach erneut, Synaptic zu öffnen.


13
ok ... aber warum ist das passiert?
Jaime Hablutzel

40
@jaime: Wahrscheinlich wurde apt-get (oder ein GUI-Frontend dafür) während der Ausführung angehalten und apt in einem gesperrten Zustand belassen.
Bouke

10
Ich würde dies als die beste Antwort akzeptieren. Richtige.
Anwar

9
@AnwarShah nein, es gibt noch andere Überlegungen, bevor Sie Dateien vom System entfernen.
Braiam

22
rm / var / lib / dpkg / lock; dpkg --configure -a:
WitchCraft

665

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

ps aux | grep [a]pt

oder

pgrep -a apt

das wird aptzumindest Prozesse abfangen, die das Wort enthalten . Wenn Sie einen apt-getProzess sehen oder einen aptitudeProzess, der nicht funktioniert, können Sie es versuchen

sudo kill processnumber

und wenn das nicht funktioniert, versuche es

sudo kill -9 processnumber

Dies sollte den Prozess abbrechen und möglicherweise die Sperre entfernen. Das Beenden eines aptoder aptitude-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 dpkgdirekte Beenden eines Prozesses, falls vorhanden, ist keine gute Idee, da bei dpkgAktivierung 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-getoder eines aptitudeProzesses ist im Allgemeinen viel sicherer.


18
@Link Ich halte das Töten nicht für dpkgeine gute Idee, da normalerweise dpkgdie Paketdatenbank direkt manipuliert wird und dies zu Korruption führen kann.
Faheem Mitha

18
Wenn das Beenden von dpkg die Datenbank beschädigen kann, wurde dpkg schlecht entwickelt. Zeitraum.
Jay Sullivan

10
Für mich führte dies zu einem Fehler dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.beim sudo apt-get dist-upgradeerneuten Ausführen . Durch Ausführen des Befehls wurde das Problem behoben. Ich liebe Nix!
Wayne Phipps

5
Beachten Sie, killall apt-getmacht das gleiche wie Ihre ps/ killCombo.
Cerin

3
Beachten Sie, dass ich feststellen musste, dass ich sudo dkpg --configure -anach dem Beenden des Schurken-Apt-Prozesses ausgeführt werden musste, damit die Dinge wieder normal werden.
Starbeamrainbowlabs

219

Entfernen Sie Ihre /var/lib/dpkg/lockDatei und erzwingen Sie eine Neukonfiguration des Pakets.

sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a

Danach sollte es funktionieren.


Diese Befehle halfen, aber jetzt, als ich versuchte, erneut zu installieren, erhielt ich die Antwort: Lock / Var / Cache / APT / Archive / Lock - Open konnte nicht abgerufen werden. Ich denke, ich müsste das vorherige Entsperrproblem lösen, aber bitte teile mir die genauen Schlüsselwörter für den Befehl mit. Ich bin ein absoluter Anfänger.
Kern

1
sudo- Befehl als root ausführen, rm- Datei entfernen. Vielleicht versuchensudo rm /var/cache/apt/archives/lock
Kubahaha

5
Dies ist kein guter Vorschlag: Das blinde Entfernen des Glücks kann den Zustand von dpkg beschädigen.
Poolie

5
Warum repariert es sich heutzutage nicht selbst?
Marian Klühspies

2
Das hat bei mir funktioniert. Die Aws oben haben es nicht getan.
1rq3fea324wre

108

Sie erhalten diese Meldung, wenn Sie vergessen haben, sudoeinen 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:

  • Das Software-Center
  • Der Update Manager
  • Der Apt Link Installer (ich denke das geht jetzt über SC)
  • Die Befehlszeilendienstprogramme apt-get oder aptitude.
  • Der Synaptic Package Manager

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 aptoder aptitudewie 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:

sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock   

Und der gleiche Befehl kann für die Apt-Cache-Sperre verwendet werden:

sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock

5
Ich habe meine Software aktualisiert, als ich die Fehlermeldung erhielt.
Regentropfen

20
Dies stürzte für mich
umpirsky

5
sudo fuser -cuk /var/cache/apt/archives/lockdirekt meinen Computer neu gestartet. apt-getist jetzt freigeschaltet.
Maxime R.

15
Dies hat meinen gesamten Server zum Absturz gebracht.
5. Januar

5
Apt oder dpkg auf halbem Weg zu töten, ist keine gute Idee.
Poolie

99

Der wahrscheinlichste Weg, dies zu erreichen, ist:

  • Ubuntu booten
  • Starten Sie ein Terminal
  • Art sudo apt-get install whatever

und die Befehlszeile aptüberschneidet sich mit der update-managerautomatischen Abfrage.

Wenn Sie es also in ein paar Minuten erneut versuchen, sollte das Problem behoben sein.


21
Ein toller Tipp im Gegensatz zu dem halben Dutzend Antworten, die vorschlagen, nur die Datei zu entfernen ;-) Ich habe das Problem zufällig reingelegt und höchstwahrscheinlich ist es das!
Alex

2
Sicher genug, musste ein wenig warten, bevor sudo apt-get installes funktionieren konnte.
Sargas

Nun, das funktioniert nicht immer, ja, ich habe schon oft einen Neustart durchgeführt. Wenn es nicht geeignet ist, versuchen Sie diese askubuntu.com/a/315791/378845, bevor Sie Sperren entfernen
Menuka Ishan

@menuka, warum nicht einfach aufhören lassen.
Poolie

@poolie Weil es andere Einschränkungen gibt, die den Prozess am Ende
hindern

52

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

ps -e | grep -e apt -e adept | grep -v grep

Hinweis:
Wenn dadurch nichts gedruckt wird, geben Sie Folgendes in das Terminal ein, um die Sperre zu entfernen

sudo rm /var/lib/dpkg/lock    
sudo rm /var/cache/apt/archives/lock

Jetzt können Sie beliebige Pakete installieren.


9
Das Löschen der Sperrdatei ist meines Erachtens gefährlich. Wenn ein anderer Prozess aus einem gültigen Grund gesperrt wird - und Sie diese Sperrdatei entfernen und eine Installation mit dem erzwingen, was Sie zuvor getan haben -, kann dies Ihr System ernsthaft beeinträchtigen.
Marco Ceppi

5
Das ist der Grund, warum ich dies in Hinweis angegeben habe. Wenn alles oben genannte fehlschlägt, besteht die einzige Möglichkeit darin, die Sperre zu entfernen. Es wird kein Problem verursachen, solange die Prozesse dpkg und apt-get / aptitude nicht ausgeführt werden
karthick87 30.11.10

pgrep -f 'apt|adept|dpkg'ist viel kürzer.
Dhchdhd

Vielen Dank! das funktioniert. pgrep -f 'apt | adept | dpkg' und dann sudo skill (number), töte alle number und installiere works!
Schöpfer

@Barry das würde mit dem gesamten Pfad + Prozess übereinstimmen. Ich denke pgrep -a 'apt|adept|dpkg'ist ein besseres kürzeres Äquivalent.
Pablo A

46

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:

# sudo apt-get upgrade
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?`

Lösung:

sudo systemctl stop apt-daily.timer

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


Nach dem Upgrade des Systems und dem erneuten Starten des Dienstes apt-daily.timer ist dieses Problem noch nicht aufgetreten.
Jairelee

Dies ist wahrscheinlich die sauberste Methode im Vergleich zu allen oben genannten Antworten mit höherer Stimmenzahl. Es hat in meinem Fall einwandfrei funktioniert, danke!
CygnusX1

Dies funktionierte auch am 17. Oktober einwandfrei
Elder Geek

Arbeitete am 17.10 +1
Eng.Fouad

2
Funktioniert gut in 18.04. :)
Naveen Kumar V

33

Zuerst sollten wir überprüfen, welcher Prozess die Sperrdatei erstellt hat lsof:

sudo lsof /var/lib/dpkg/lock

oder in einer anderen Situation, in der /var/lib/apt/lists/lockes problematisch ist:

sudo lsof /var/lib/apt/lists/lock

Die Ausgabe wird ungefähr so ​​aussehen:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
apt-get   12127 root   4uW  REG  252,1        0    86   /var/lib/apt/lists/lock

Dann sollten wir überprüfen , was die commad tun ist, können wir es herausfinden, mit ps, pgrepetc; Der Befehl lautet wie folgt apt-get:

pgrep apt-get -a

Der -aSchalter listet den vollständigen Befehl für mich auf, in meinem Fall ist es:

 pgrep -a apt-get
 12127 apt-get update

wir können sehen, dass es einen updateUnterbefehl ausführt, ich könnte auch so etwas ausführen:

ps -f 12127

welche produziert:

UID        PID  PPID  C STIME TTY      STAT   TIME CMD
root     12127 12126  0 09:39 pts/0    S+     0:00 apt-get update

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 eine SIGTERMan der Prozess:

sudo kill -15 12127

Es sollte die Arbeit erledigen. Wenn es nicht so wäre, würde ich SIGINTdiesmal senden (es ist so, als würde man CTRL+ drücken C):

sudo kill -2 12127

Wenn es auch nicht funktioniert hat, sollten wir ein SIGHUP( kill -1) senden , und wenn nichts funktioniert, bringe ich den Prozess einfach zum Erliegen:

sudo kill -9 12127

oder

sudo pkill -9 apt-get

Dann entferne ich ausgelastete Ressourcen:

sudo rm /var/lib/apt/lists/lock

Eine kleine Sache ist, dass /var/lib/dpkg/lockeher als /var/lib/apt/lists/lockdie Datei in der Frage ist.
Chai T. Rex

1
Vielen Dank an die Wurzelgötter, die endlich jemand erwähnt pgrepund pkill.
Dhchdhd

1
Dies sollte die akzeptierte Antwort sein.
Marwan Nabil

Wenn dies durch eine Installation oder ein Upgrade verursacht wurde, ist dpkg --configure -amöglicherweise auch dies erforderlich
LUXS

Dies funktioniert für mich
Sundeep

21

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


Ich hatte dies direkt nach der Installation von Ubuntu 16.04. Es stellte sich heraus, dass es im Ubuntu Software Center einen Hintergrundprozess gab, der darauf wartete, dass ich einige Updates manuell installierte.
Jvriesem

Das Gleiche gilt nach einer Neuinstallation vom 16.04. Es war zu viel länger als "ein paar Sekunden" in meinem Fall (ich hatte Zeit, diese ganze F & A-Seite zu lesen!), Aber nach psein paar dpkgAktualisierungen 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.
Charlie Joynt

16

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 ist

sudo fuser -cuk /var/lib/dpkg/lock
sudo rm -f /var/lib/dpkg/lock

funktioniert gut. Entnommen aus: https://askubuntu.com/a/15469/68707


1
Das war das Problem in meinem Fall!
LondonRob

1
Bessere Lösung, da der Befehl fuser verwendet wurde, um andere Prozesse aufzuspüren (falls noch vorhanden)
Lars Nordin

16

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.


1
Dies sieht eher nach einem Kommentar als nach einer Antwort aus. Könnten Sie dies stattdessen als Kommentar zu der Antwort verschieben, auf die es geantwortet hat?
Jvriesem

4
@jvriesem Ich denke, das ist eine sehr wichtige Antwort, denn der Punkt, den er macht, ist, was in vielen anderen Antworten fehlt!
Volker Siegel

@jvriesem Dies ist normalerweise die richtige Antwort. Dieses Problem tritt bei meinen Linux-Containern häufig auf, wenn ich sie längere Zeit nicht benutze. Warte einfach. Ja, es kann eine Weile dauern. Aber lassen Sie es seinen Job machen, bevor Sie Dinge tun und stören.
earth2jason

Dies sollte das erste sein, was Sie versuchen sollten. Diese Antwort behebt meistens das Problem. Ich hatte es vielleicht noch 4-5 mal und ein Neustart löste es immer.
Jan

10

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.


1
Abhängig davon, wie lange die Distribution gebootet wurde, kann es bis zu einer halben Stunde dauern. Aber es ist wahrscheinlich ideal, wenn Sie Ihre Distribution ihre Arbeit beenden lassen, bevor Sie die Dinge stören.
earth2jason

6

In meinem Fall musste ich einige Minuten warten, bis das Schloss freigegeben wurde (es scheint, als wäre aptes zum Halten verwendet worden). Dies alles geschah direkt nach dem Systemstart.


4

Einfach sudo rm -f /var/lib/apt/lists/lockund 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-getoder dpkgauch.


4

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.

sudo fuser -vki /var/lib/dpkg/lock
sudo fuser -vki /var/cache/apt/archives/lock
sudo fuser -vki /var/cache/debconf/config.dat
sudo dpkg --configure -a

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.


3

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:

newline in field name #padding

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.


3

In meinem Fall ist X abgestürzt, apt-getals 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.


3

Überprüfen Sie den Launcher, um festzustellen, ob er ausgeführt Software Updaterwird. 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 wieder apt-getoder verwenden apt.

Wenn Software Updateres 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 wieder apt-getoder verwenden apt.


2

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.


2
Das ist nicht die Ursache des Problems, da Sie können laufen sudoals 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.
wjandrea

Manchmal wird dieselbe Fehlermeldung ausgegeben.
Karl

2
sudo killall -9 apt && sudo killall -9 dpkg

Benutzung auf eigene Gefahr


1

in meinem Fall nach:

  1. Öffnen Sie Firefox.
  2. Terminal öffnen

Ich tippte


sudo apt update
sudp apt upgrade
dann bekomme ich das probleme

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?
Ich habe das behoben, indem ich den Befehl ausgeführt habe, der mir nach dem Ausführen gezeigt wurde sudo apt update

apt list --upgradable

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.

sudo apt upgrade

0

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 .


0

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.serviceläuft. Ich fand, dass in das defekte System neu gebootet und ausgeführt wird:

sudo systemctl disable apt-daily.service
sudo systemctl disable unattended-upgrades.service
sudo systemctl disable apt-daily-upgrade.service
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily.timer
sudo shutdown -r # Note it will take a couple minutes to reboot

erlaubte mir, das kaputte System wieder zum Laufen zu bringen für:

sudo apt update
sudo apt upgrade
sudo apt install -f

Es hat jedoch nicht die zurückgehaltenen Pakete und die unmögliche Situation behoben, von der aptin erster Linie berichtet wurde. Es scheint, als würde dies aptin erster Linie dazu führen , dass der Computer beim Booten abstürzt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.