Es kann vorkommen, dass bei dem Versuch, Software über das Terminal unter Ubuntu zu installieren, die Fehlermeldung „Sperre konnte nicht abgerufen werden“ erscheint. Dieser Fehler ist ärgerlich, da er das System blockiert und die Installation der benötigten Software verhindert.
Ursache für die Fehlermeldung „Sperre konnte nicht abgerufen werden“
Dieser Fehler tritt häufig auf, wenn Ubuntu-Nutzer ein Terminal vorzeitig schließen, während eine Installation noch im Gange ist. Beim Öffnen eines zweiten Terminals und dem Versuch, den Paketmanager zu verwenden, wird der Fehler „Sperre konnte nicht abgerufen werden“ angezeigt. Dies liegt daran, dass das System nicht zulässt, dass mehrere Instanzen des Paketverwaltungssystems gleichzeitig laufen.
Obwohl nachvollziehbar ist, warum der Paketmanager sich selbst sperrt, ist dies dennoch frustrierend. Viele Ubuntu-Nutzer geraten in Panik, wenn dieser Fehler auftritt, da das Betriebssystem keine direkte Anleitung zur Behebung anbietet.
Die Behebung dieses Fehlers ist jedoch relativ einfach, auch wenn die Terminal-Eingabeaufforderung auf den ersten Blick kompliziert erscheinen mag. In diesem Artikel zeigen wir Ihnen genau, was zu tun ist, wie Sie das Problem lösen und wie Sie verhindern können, dass der Fehler in Zukunft auftritt.
Hinweis: Wenn Sie Debian verwenden, können Sie diese Anleitung ebenfalls nutzen. Ubuntu basiert auf Debian, daher sind die hier verwendeten Befehle auch für Sie relevant. Diese Methode funktioniert auch für Linux Mint, Elementary OS und andere Ubuntu-basierte Distributionen.
Apt/Apt-get Prozess beenden
Wie bereits erwähnt, tritt der Fehler „Sperre konnte nicht abgerufen werden“ auf, wenn der Ubuntu-Paketmanager bereits im Hintergrund läuft und der Benutzer versucht, ihn ein zweites Mal zu starten.
Solange ein Hintergrundprozess des Paketmanagers aktiv ist, können Sie keine neuen Softwarepakete installieren. Dieser Fehler bleibt somit bestehen.
Glücklicherweise ist der Ubuntu-Paketmanager ein Programm wie jedes andere und kann entsprechend behandelt werden.
Es gibt verschiedene Möglichkeiten, Prozesse unter Linux zu beenden. Die schnellste Methode ist, mit dem Befehl ps
die Prozess-ID des betreffenden Prozesses (Apt oder Apt-get) zu ermitteln und ihn dann mit dem kill
Befehl zu stoppen.
Öffnen Sie zunächst ein Terminal und führen Sie den Befehl ps aux
mit apt
am Ende (oder apt-get
, wenn Sie dies verwenden) aus.
ps aux | egrep 'apt'
Für Apt-get-Nutzer:
ps aux | egrep 'apt-get'
Die Ausgabe im Terminal zeigt eine Liste an, aus der die Prozess-ID des Paketmanagers hervorgeht. Diese Nummer wird benötigt, um den Prozess zu beenden.
Hinweis: Wenn Sie den Befehl kill
für Systemdienste verwenden, sollten Sie immer den Schalter „SIGTERM“ oder „SIGKILL“ verwenden. Andernfalls wird der Prozess möglicherweise nicht korrekt beendet.
sudo kill -SIGKILL Prozess-ID
Oder:
sudo kill -SIGTERM Prozess-ID
Durch Ausführen des kill
Befehls sollte der Paketmanager-Prozess beendet werden. Wenn Sie nicht sicher sind, ob der Prozess tatsächlich gestoppt wurde, können Sie den Befehl ps aux
erneut ausführen. Wenn keine Prozess-ID mehr angezeigt wird, können Sie den Ubuntu-Paketmanager wieder verwenden!
Sperrdateien löschen
Wenn der Apt-Paketmanager im Hintergrund hängt und nicht mehr reagiert, lässt sich das Problem meist durch den kill
Befehl beheben. Manchmal ist es jedoch notwendig, eine alternative Methode anzuwenden.
Wenn das Beenden des Prozesses nicht ausreicht, können Sie die Sperrdateien des Paketverwaltungstools manuell löschen. Dies sind die „Schlösser“, die der Paketmanager verwendet.
Diese Sperrdateien befinden sich in drei verschiedenen Verzeichnissen. Um auf die Dateien zugreifen zu können, benötigen Sie Root-Zugriff. Diesen erhalten Sie mit dem Befehl sudo
.
sudo -s
Nach dem Root-Zugriff navigieren Sie zum ersten Verzeichnis.
cd /var/lib/dpkg/ rm lock
Nachdem Sie die erste Sperrdatei entfernt haben, entfernen Sie die zweite.
cd /var/lib/apt/lists/ rm lock
Entfernen Sie als nächstes die dritte und letzte Sperrdatei.
cd /var/cache/apt/archives/ rm lock
Nachdem alle drei Sperrdateien mit dem Befehl rm
gelöscht wurden, sollte der Ubuntu-Paketmanager wieder einsatzbereit sein. Um dies zu überprüfen, führen Sie folgenden Befehl aus:
sudo apt update
Beschädigte Pakete reparieren
Wenn Sie ein Terminal vorzeitig schließen, während Software installiert wird, kann es vorkommen, dass Pakete beschädigt werden. Dies kann mit dem Befehl dpkg
und der Option „configure“ behoben werden.
dpkg --configure -a
Durch Ausführen dieses Befehls sollten alle beschädigten Pakete repariert und einsatzbereit sein.