Wenn Sie ein häufiger Benutzer von Ubuntu sind, ist Ihnen vielleicht irgendwann der Fehler begegnet:"Could not get lock /var/lib/dpkg/lock". Dies hängt zufällig mit dem Fehler „Could not get lock /var/lib/apt/lists/lock“ zusammen.
Grundsätzlich handelt es sich hierbei um einen nicht schwerwiegenden Fehler, der normalerweise keinen Anlass zur Sorge gibt.
Hier bei LinuxAPT helfen wir unseren Kunden im Rahmen unserer Server Management Services regelmäßig dabei, Fixes für verwandte Ubuntu-Fehler durchzuführen.
In diesem Zusammenhang werden wir untersuchen, wie dieser Ubuntu-Linux-Systemfehler behoben werden kann.
Ursachen des Ubuntu-Fehlers „E:Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ ?
Die häufigste Ursache für diesen Fehler ist, wenn ein Prozess den APT-Paketmanager verwendet, um Software zu aktualisieren/aktualisieren/installieren oder eine Paketverwaltung auf dem System durchzuführen. Wenn dies geschieht, sperrt der Prozess die dpkg-Datei mit einer Sperrdatei, sodass ein anderer Prozess die Daten nicht ändert, was wahrscheinlich zu Fehlern und einer möglichen Beschädigung wichtiger Dateien im System führt.
Wann immer Sie auf diesen Fehler stoßen, besteht eine hohe Wahrscheinlichkeit, dass gleichzeitig ein anderer Prozess APT ausführt. Dies könnte ein Prozess sein, der gleichzeitig auf einem anderen Terminal ausgeführt wird. Der Fehler kann auch durch einen unterbrochenen Update- oder Upgrade-Vorgang auftreten, der durch Drücken von STRG + C im Terminal oder versehentliches Schließen des Terminalfensters vorzeitig beendet wurde.
Wie behebt man den Ubuntu-Fehler „E:Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ ?
Sie können die folgenden Tipps anwenden, um diesen Fehler zu beheben und auch dabei helfen, den APT-Paketmanager wieder zu verwenden.
1. Warten Sie, bis der Vorgang abgeschlossen ist
Wenn Sie eine andere Terminalsitzung haben, in der der APT-Paketmanager von einem Befehl verwendet wird, z. B. zum Aktualisieren oder Aktualisieren des Systems oder zum Installieren einer Anwendung, warten Sie einfach, bis der Vorgang erfolgreich abgeschlossen wurde. Nach Abschluss können Sie den gewünschten Befehl ausführen und alle anderen Operationen mit APT ausführen.
2. Beenden Sie Prozesse mit dem APT-Paketmanager
Wenn Sie einen Prozess mit APT unterbrochen haben, wie z. B. das Abbrechen eines Upgrades oder eine Aktualisierung des Paketindex, identifizieren Sie zuerst die Prozesse mit APT mit dem gezeigten ps-Befehl:
Aus der Ausgabe sehen Sie, dass APT von zwei Prozessen verwendet wird, die von root gestartet wurden. Die Prozesse könnten die PIDs wie 3994 und 3999 tragen. Nachdem Sie die Prozesse mit APT identifiziert haben, besteht die nächste Vorgehensweise darin, die Prozesse zu beenden oder zu beenden.
Verwenden Sie dazu den Kill-Befehl wie folgt:
$ kill -9 PID
Aus der Ausgabe beenden wir die Prozesse mit den PIDs 3994 und 3999 wie folgt:
$ kill -9 3994
$kill -9 3999
Das Flag -9 löst ein SIGKILL-Signal aus, das einen Prozess sofort beendet, ohne dass er ordnungsgemäß beendet werden kann.
Ein viel einfacherer Weg ist die Verwendung des killall-Befehls wie gezeigt:
$ killall apt apt-get
Nachdem Sie die problematischen Prozesse beendet haben, können Sie nun den APT-Paketmanager in Ihrem Befehl verwenden.
3. Entfernen Sie die Sperrdateien
Die andere Lösung, die Sie anwenden können, besteht darin, die Sperrdateien zu entfernen. Wie bereits erwähnt, verhindern die Sperrdateien den Zugriff auf Daten durch zwei verschiedene Prozesse. Führen Sie die folgenden Befehle aus, um die Sperrdateien loszuwerden:
$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/dpkg/lock-frontend
Und schließlich konfigurieren Sie die Pakete neu:
$ sudo dpkg --configure -a