Website-Suche

Fix "Das Administrationsverzeichnis (/var/lib/dpkg/) kann nicht gesperrt werden" in Ubuntu


Bei der Verwendung des Befehls apt-get oder des relativ neuen APT-Paketverwaltungstools in Ubuntu Linux oder dessen Derivaten wie Linux Mint (das ich tatsächlich als primäres Betriebssystem für die tägliche Arbeit verwende) sind Sie möglicherweise auf den Fehler gestoßen – "das Administrationsverzeichnis (/var/lib/dpkg/ kann nicht gesperrt werden) ist ein anderer Prozess, der es verwendet" auf der Befehlszeile.

Dieser Fehler kann vor allem für neue Linux-Benutzer (Ubuntu) sehr ärgerlich sein, die die Ursache des Fehlers möglicherweise nicht genau kennen.

Unten sehen Sie ein Beispiel, das den Fehler "Sperrdatei" in Ubuntu 16.10 zeigt:

tecmint@TecMint:~$ sudo apt install neofetch
[sudo] password for tecmint:
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?

Die folgende Ausgabe ist eine weitere mögliche Instanz desselben Fehlers:

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?

Wie können Sie den obigen Fehler beheben, falls Sie in Zukunft darauf stoßen? Es gibt mehrere Möglichkeiten, mit diesen Fehlern umzugehen, aber in diesem Leitfaden werden wir die beiden einfachsten und wahrscheinlich effektivsten Methoden zur Behebung durchgehen.

1. Suchen und beenden Sie alle apt-get- oder apt-Prozesse

Führen Sie den folgenden Befehl aus, um eine Liste aller Prozesse zu generieren, deren Name aus dem Wort apt besteht. Sie erhalten eine Liste mit allen apt- oder apt-get-Prozessen, indem Sie die Befehle ps und grep zusammen mit einer Pipeline verwenden.

$ ps -A | grep apt

Für jeden apt-get- oder apt-Prozess, den Sie in der Ausgabe des obigen Befehls sehen können, beenden Sie jeden Prozess mit dem folgenden Befehl.

Die Prozess-ID (PID) befindet sich in der ersten Spalte aus dem obigen Screenshot.

$ sudo kill -9 processnumber
OR
sudo kill -SIGKILL processnumber

Zum Beispiel wird im folgenden Befehl, wobei 9 die Signalnummer für das SIGKILL-Signal ist, der erste apt-Prozess beendet:

$ sudo kill -9 13431
OR
sudo kill -SIGKILL 13431

2. Löschen Sie die Sperre Dateien

Eine Sperrdatei verhindert einfach den Zugriff auf eine oder mehrere andere Dateien oder einige Daten auf Ihrem Linux-System, dieses Konzept ist auch in Windows und anderen Betriebssystemen vorhanden.

Sobald Sie einen apt-get- oder apt-Befehl ausführen, wird eine Sperrdatei in einem der folgenden Verzeichnisse /var/lib/apt/lists/, /var/lib/dpkg/ und /var/cache/apt/archives/ erstellt.

Dies hilft zu vermeiden, dass der apt-get- oder apt-Prozess, der bereits läuft, entweder von einem Benutzer oder anderen Systemprozessen unterbrochen wird, die mit Dateien arbeiten müssten, die von apt-get oder apt verwendet werden. Wenn die Ausführung des Prozesses abgeschlossen ist, wird die Sperrdatei gelöscht.

Wichtig: Falls eine Sperre in den beiden oben genannten Verzeichnissen immer noch beendet wird, ohne dass ein erkennbarer apt-get- oder apt-Prozess ausgeführt wird, kann dies bedeuten, dass der Prozess aus dem einen oder anderen Grund angehalten wurde, daher müssen Sie die Sperrdateien löschen, um den Fehler zu beheben.

Führen Sie zunächst den folgenden Befehl aus, um die Sperrdatei im Verzeichnis /var/lib/dpkg/ zu entfernen:

$ sudo rm /var/lib/dpkg/lock

Erzwingen Sie anschließend, dass die Pakete wie folgt neu konfiguriert werden:

$ sudo dpkg --configure -a

Alternativ können Sie die Sperrdateien in /var/lib/apt/lists/ und im Cache-Verzeichnis wie folgt löschen:

$ sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock

Aktualisieren Sie als Nächstes die Liste der Paketquellen wie folgt:

$ sudo apt update
OR
sudo apt-get update

Zusammenfassend haben wir zwei wichtige Methoden durchlaufen, um ein häufiges Problem zu lösen, mit dem Benutzer von Ubuntu (und seinen Derivaten) konfrontiert sind, während sie apt-get oder apt sowie aptitude-Befehle ausführen.

Haben Sie andere zuverlässige Methoden, die Sie teilen können, um mit diesem häufigen Fehler umzugehen? Dann nehmen Sie über das untenstehende Feedback-Formular Kontakt mit uns auf.

Darüber hinaus möchten Sie vielleicht auch lernen, wie Sie laufende Prozesse finden und beenden können, und eine einfache Anleitung zum Beenden eines Prozesses unter Linux lesen, um die Befehle kill, pkill und killall zu beenden.

Verwandte Artikel: