Lock var lib dpkg lock konnte nicht abgerufen werden - Ubuntu/Debian
Diese Fehlermeldung tritt auf jedem Ubuntu oder einem anderen Debian-basierten Linux-System ziemlich häufig auf.
Die Bedeutung der Meldung "Sperre konnte nicht abgerufen werden" ist ziemlich einfach. Wenn Sie versuchen, eine neue Software zu installieren oder Ihr Betriebssystem zu aktualisieren, wird eine andere Softwareinstallation oder ein Software-Upgrade durchgeführt, das im Hintergrund ausgeführt wird und von einem anderen Benutzer mit Administratorrechten auf einem anderen Remote- oder lokalen Endgerät gestartet wurde.
Beispiel für E: Die Fehlermeldung "Lock /var/lib/apt/lists/lock – open (11: Ressource vorübergehend nicht verfügbar)" auf Ubuntu 18.04 konnte nicht abgerufen werden
Eine weitere ziemlich destruktive Ursache für andere verwandte Fehlermeldungen:
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
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?
ist, dass der Software-Installations- oder Upgrade-Prozess mit dem Befehl apt oder dpkg unterbrochen wurde.
Die Art und Weise, wie das Paketverwaltungstool unter Ubuntu/Debian oder einem anderen Linux-Betriebssystem funktioniert, besteht darin, dass jedes Mal, wenn eine Paketinstallation oder -aktualisierung gestartet wird, das Paketverwaltungstool, in diesem Fall apt oder dpkg, eine Sperrdatei /var/lib/apt/lists/lock oder var/lib/dpkg/lock erstellt, um die gleichzeitige Ausführung eines anderen Softwareinstallations- oder Aktualisierungsprozesses zu verhindern.
In diesem Tutorial lernen Sie:
- Was ist die wahrscheinlichste Ursache für
E: Die Sperre /var/lib/apt/lists/lock aufdem Ubuntu Linux-System konnte nicht abgerufen werden - So vermeiden Sie die Fehlermeldung "
Sperre konnte nicht abgerufenwerden unter Ubuntu Linux - Wie finde ich einen Prozess, der eine Sperre auf
/var/lib/apt/lists/lock hält? - So entsperren Sie die /
var/lib/apt/lists/lock-Sperre - Wiederherstellung nach vorzeitig beendetem
apt- oderdpkg-Installationsprozess
Verwendete Softwareanforderungen und Konventionen
Die Sperre /var/lib/apt/lists/lock konnte nicht abgerufen werden, die durch den Hintergrundaktualisierungsprozess verursacht wurde
Auf Ubuntu Linux-Systemen tritt die häufigste Anzahl von Fällen, in denen die Fehlermeldung E: Could not get lock /var/lib/apt/lists/lock auf Ubuntu Linux-Systemen angezeigt wird, auf, weil die Indexaktualisierung des Paket-Repositorys automatisch vom Ubuntu-System selbst im Hintergrund ausgeführt wird. Dies erstellt einfach eine Sperrdatei und verhindert, dass der Benutzer gleichzeitig die apt- oder dpkg-Tools verwendet.
Die einfachste und einzig empfohlene Lösung besteht darin, zu warten und das Update des Paketverwaltungstools im Hintergrund seine Arbeit beenden zu lassen und die Sperrdatei freizugeben.
So vermeiden Sie die Fehlermeldung "Sperre konnte nicht abgerufen werden" unter Ubuntu Linux
Wenn das Ubuntu-System ein Hintergrund-Update auslöst und den Benutzer daran hindert, den Befehl apt oder dpkg zu verwenden, kann dies eine sehr frustrierende Situation sein.
Die Lösung besteht darin, automatische Aktualisierungen der Systempaketliste im Hintergrund zu stoppen und Aktualisierungen manuell auszuführen. Um automatische Updates zu deaktivieren, bearbeiten Sie /etc/apt/apt.conf.d/20auto-upgrades mit Ihrem bevorzugten Texteditor:
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
Sobald Sie die Datei geöffnet haben, schalten Sie die Update-Package-Lists-Direktive von 1 auf 0 aus, wie unten in Zeile 1 gezeigt:
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "1";
So finden Sie einen Prozess und einen Benutzer, der eine Sperre hält
Die folgenden Schritte können verwendet werden, um den Benutzer und den Prozess zu identifizieren, der eine Sperre hält, die den Benutzer daran hindert, den Befehl apt oder dpkg erfolgreich auszuführen:
Notieren Sie sich die Dateisperre, die gesperrt wird. Zum Beispiel:
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable) E: Unable to lock directory /var/lib/apt/lists/-
Verwenden Sie den Befehl
fuser,um eine Prozess-ID (PID) zu finden, die für die Sperre verantwortlich ist:sudo fuser /var/lib/apt/lists/lock /var/lib/apt/lists/lock: 3384 Suchen Sie anhand der zuvor abgerufenen PID den Benutzer und führen Sie den Befehl aus:
ps -p 3384 -o user,comm,args USER COMMAND COMMAND root apt apt update
Finden des Benutzers und des Prozesses, der für das Halten einer Sperre für die Datei /var/lib/apt/lists/lock auf einem Ubuntu Linux-System verantwortlich ist.
So entsperren Sie die Sperre "/var/lib/apt/lists/lock"
In dem Szenario, in dem Sie in der Lage sind, den Benutzer und den Prozess zu identifizieren, der eine Dateisperre hält, wie im vorherigen Abschnitt beschrieben, untersuchen Sie weiter, und prüfen Sie, ob Sie den Prozess ordnungsgemäß abschließen können.
Entfernen Sie die Sperrdatei nicht, wenn die Möglichkeit besteht, den Prozess ordnungsgemäß beenden zu lassen. Dies kann Ihrem System schaden und in den gleichen Fällen sogar ohne die Option zur Wiederherstellung.
Für den Fall, dass das Paketverwaltungstool hängen geblieben ist und daher nicht in der Lage ist, die Sperrdatei zu beenden und zu entfernen, können Sie versuchen, den Prozess zu beenden. Dies kann z. B. erreicht werden durch:
sudo fuser -vki /var/lib/apt/lists/lock
[sudo] password for linuxconfig:
USER PID ACCESS COMMAND
/var/lib/apt/lists/lock:
root 3384 F.... apt
Kill process 3384 ? (y/N)
oder durch Verwendung des Befehls kill und der zuvor abgerufenen PID, z. B. 3384:
sudo kill -9 3384
Für den Fall, dass Sie den Prozess manuell beendet haben oder den Prozess und den Benutzer nicht finden können, der die Sperre hält, besteht die Möglichkeit, dass die zuvor ausgeführte Softwareinstallation oder das Software-Upgrade vorzeitig beendet wurde, ohne dem Paketverwaltungstool die Möglichkeit zu geben, die Sperre zu entfernen.
In diesem Szenario entfernen Sie die Sperrdatei manuell:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/lib/dpkg/lock
Wiederherstellung nach einem vorzeitig beendeten APT- oder DPKG-Installationsprozess
Wenn der Installationsvorgang vorzeitig unterbrochen wird, kann es sein, dass Ihr System vorübergehend unterbrochen wird, sodass Sie keine weiteren Softwareinstallationen durchführen können, was zu einem Fehler ähnlich dem folgenden führt:
E: Sub-process /usr/bin/dpkg returned an error code (2)
Versuchen Sie die folgenden Befehle, um das defekte DPKG-System wiederherzustellen:
sudo dpkg --configure -a
sudo apt install -f
Führen Sie bei einem unterbrochenen System-Upgrade Folgendes aus:
sudo apt upgrade --fix-broken

