GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Behebung des Fehlers „Probleme können nicht behoben werden, Sie haben beschädigte Pakete gespeichert“ in Ubuntu und anderen Linux-Distributionen

Obwohl es verschiedene Möglichkeiten gibt, Anwendungen in Ubuntu zu installieren, verwende ich lieber den apt-Befehl im Terminal, um Software zu installieren.

Wenn Sie dasselbe tun, stoßen Sie möglicherweise auf einen Abhängigkeitsfehler wie diesen:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 green-recorder : Depends: python-urllib3 but it is not installable
E: Unable to correct problems, you have held broken packages.

Normalerweise finden Sie auf It’s FOSS einfache und leicht verständliche Lösungen für komplizierte Probleme. Leider ist dies nicht so einfach.

In diesem Artikel zur Fehlerbehebung erkläre ich Ihnen, warum dieser Fehler auftritt, und gebe einige Hinweise zur Lösung dieses Problems.

Warum wird der Fehler „Sie haben beschädigte Pakete zurückgehalten“ angezeigt?

Sie haben versucht, ein Anwendungspaket zu installieren, höchstwahrscheinlich aus einem PPA- oder Drittanbieter-Repository.

Anwendungen benötigen häufig bestimmte Versionen von Bibliotheken und Softwarekomponenten (als Abhängigkeiten bezeichnet). Diese Abhängigkeiten sind möglicherweise nicht Teil des Anwendungspakets selbst, aber es wird erwartet, dass sie entweder bereits auf Ihrem System installiert sind oder während der Installation der Anwendung installiert werden.

Ihr Linux-System versucht, diese Abhängigkeiten selbst zu installieren. Wenn die Version des Abhängigkeitspakets jedoch nicht auf Ihrem System verfügbar ist, wird es verwirrt, da es keine Möglichkeit gibt, dieses Abhängigkeitsproblem zu lösen.

Aus diesem Grund werden Sie darüber informiert, dass die Software, die Sie installieren wollten, von XYZ abhängt, dieses XYZ jedoch nicht installiert werden kann.

Ein weiterer Anwendungsfall ist, wenn Ihr Paket aufbewahrt werden kann, wenn Sie versuchen, zwei Versionen derselben Software zu installieren. Angenommen, Sie installieren eine bestimmte Version von Wine, wenn Sie bereits eine andere installiert haben.

So beheben Sie den Fehler „Probleme können nicht behoben werden, Sie haben beschädigte Pakete gespeichert“

Sie können ein paar Dinge ausprobieren, damit die Dinge funktionieren. Sie müssen einige Ideen zum Installieren/Entfernen von Paketen in der Linux-Befehlszeile haben, um die Dinge hier zu klären.

Stellen Sie sicher, dass der Paket-Cache Ihres Systems aktualisiert wird

Stellen Sie zunächst sicher, dass der lokale Paketcache aktualisiert wird. Ihr System überprüft diesen Cache auf die verfügbaren Pakete. Es ist möglich (aber nicht sicher), dass das Abhängigkeitspaket nach der Cache-Aktualisierung vom System erkannt wird.

sudo apt update

Versuchen Sie erneut, das problematische Paket zu installieren, und prüfen Sie, ob es das Problem behebt.

Installieren Sie die Abhängigkeit

Wenn Sie versuchen, das problematische Paket erneut zu installieren, und es sich immer noch über denselben Abhängigkeitsfehler beschwert, ist diese Abhängigkeit möglicherweise nicht für die Distributionsversion verfügbar.

Sie können den apt-Suchbefehl verwenden, um zu sehen, ob Sie diese Bibliothek von einem anderen Paket oder Namen haben könnten:

sudo apt search package_name

Wenn das Paket verfügbar ist, ist es dieselbe Version, die von dem Paket angefordert wird, das Sie installieren wollten?

Versuchen Sie, das Abhängigkeitspaket zu installieren, und sehen Sie, was passiert:

sudo apt install dependency_package

Möglicherweise stoßen Sie auf eine Abhängigkeitskette. Sie versuchen, Abhängigkeit A zu installieren, aber sie beschwert sich über B. Dann versuchen Sie, B zu installieren, und sie beschwert sich über C.

Es kann auch vorkommen, dass Paket C bereits installiert ist, wenn Sie versuchen, es zu installieren. Überprüfen Sie die Version von Paket C. Ist es dieselbe Version wie für Paket B erforderlich? Wenn ja, dann könnte es helfen, C zu entfernen und erneut zu installieren.

Können Sie das fehlende Abhängigkeitspaket aus einer anderen Quelle beziehen?

Wenn das fehlende Abhängigkeitspaket auf Ihrem System nicht gefunden werden kann (keine Ergebnisse in der apt-Suche), können Sie versuchen, das Abhängigkeitspaket von einem anderen Ort zu bekommen. Ich weiß, das ist nicht sehr bequem, aber Sie haben hier nicht viele Optionen.

Im Fall der Installation von Shutter wurde beispielsweise libgoo-canvas-perl beschwert und diese Bibliothek ist auf dem Ubuntu-System nicht mehr verfügbar.

sudo apt install shutter
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 shutter : Depends: libgoo-canvas-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Da es jedoch in den vorherigen Versionen von Ubuntu verfügbar war, habe ich im Paketarchiv von Ubuntu nach diesem Paket gesucht und es unter der Auflistung von Ubuntu 14.04 hier gefunden. Ich habe die .DEB-Datei heruntergeladen und installiert.

Jetzt, da dieses Abhängigkeitspaket installiert ist, sollte der Versuch, die ursprüngliche Anwendung (in diesem Fall Shutter) zu installieren, sich nicht mehr über dieses Paket beschweren.

Wenn Sie das Abhängigkeitspaket nirgendwo finden können, installieren Sie das problematische Paket von einer anderen Quelle

Im obigen Beispiel habe ich also versucht, die Green Recorder-Anwendung mit ihrem PPA zu installieren. Diese Anwendung benötigt python-urllib3 Bibliothek, aber leider ist diese Bibliothek in meinem Ubuntu 20.04-System nicht verfügbar.

[email protected]:~$ apt search python-urllib3
Sorting... Done
Full Text Search... Done

Dies ist eindeutig eine schlecht verpackte Anwendung. Der Entwickler hat es für Ubuntu 20.04 verfügbar gemacht, ohne zu wissen, dass Ubuntu 20.04 Python 2 nicht mehr unterstützt und alle Python-Bibliotheken jetzt mit dem Präfix python3 beginnen. Die python-urllib3 sollte also python3-urllib3 sein.

Wenn Sie sich in einer solchen Situation befinden, überprüfen Sie vielleicht die Homepage des Projekts oder suchen Sie im Internet nach einer alternativen Quelle für die Installation. Vielleicht gibt es eine Snap/Flatpak-Version oder ein Benutzer hat ein PPA dafür erstellt? Wenn nichts anderes, können Sie sich auch für die Quellcode-Option entscheiden.

Wenn Sie während der Aktualisierung den Fehler "Holded Broken Package" sehen, versuchen Sie es hier

Die meisten Diskussionen gingen bisher davon aus, dass Sie diesen Fehler bei der Installation einer neuen Anwendung sehen. Das muss nicht immer der Fall sein.

Wenn Sie diesen Fehler sehen, wenn Sie versuchen, Ihr System mit dem Befehl sudo apt update zu aktualisieren, müssen Sie einen etwas anderen Ansatz wählen.

Überprüfen Sie zuerst, welches Paket mit diesem Befehl festgehalten wird:

dpkg --get-selections | grep hold

Wenn Sie sehen, dass einige Pakete zurückgehalten werden, entfernen Sie sie und fahren Sie dann fort, Ihr System zu aktualisieren oder die Software zu installieren.

Sie können auch den Synaptic-Paketmanager verwenden, um die beschädigten Pakete zu reparieren.

Konnten Sie das Problem beheben?

Wie ich bereits erwähnt hatte, gibt es keine einfache Lösung für dieses Problem. Sie müssen selbst nachforschen und sehen, ob es behoben werden kann oder nicht.

Bitte teilen Sie in den Kommentaren mit, ob Ihr Problem behoben wurde. Wenn nicht, kann ich versuchen, Ihnen zu helfen.



Ubuntu
  1. So installieren Sie Rust und Cargo auf Ubuntu und anderen Linux-Distributionen

  2. So installieren Sie den Vivaldi-Browser unter Ubuntu und anderen Linux-Distributionen

  3. Behebung „Dpkg-Frontend-Sperre konnte nicht erworben werden. Bist du Root?“ Fehler bei Ubuntu und anderen Linux-Distributionen

  4. So beheben Sie den Paketinstallationsfehler – Probleme können nicht behoben werden, Sie haben beschädigte Pakete gespeichert

  5. Installieren von Odbcins1debian2, defekte Abhängigkeit von Ubuntu 20.04 Lts?

So verwenden Sie WebP-Images in Ubuntu und anderen Linux-Distributionen

Verwenden von Yarn unter Ubuntu und anderen Linux-Distributionen

So installieren Sie PuTTY auf Ubuntu und anderen Linux-Distributionen

So aktualisieren Sie Grub unter Ubuntu und anderen Linux-Distributionen

Behebung des Fehlers „Paketdatei /var/lib/apt/lists kann nicht analysiert werden“ in Ubuntu und anderen Linux-Distributionen

Behebung des Fehlers „Die folgenden Pakete wurden zurückgehalten“ beim Aktualisieren von Ubuntu- und Debian-basierten Linux-Distributionen