Hinweis zu möglichen Duplikaten:
AFAIK, Dies ist kein Duplikat von Wie löse ich nicht erfüllte Abhängigkeiten nach dem Hinzufügen eines PPA? Andernfalls beweisen Sie dies bitte, indem Sie das unten erwähnte Testproblem mit einer Antwort von dort lösen.
Hintergrund:
Ich stand vor diesem Problem Wie man Installationswein auf Ubuntu 14.04.3LTS 64 Bit regelt . Es wurde durch manuelle / menschliche Überprüfung aller rekursiven Abhängigkeiten des Zielpakets ( wine) gelöst .
Reproduzieren Sie das Problem (Testfall):
Lassen Sie uns die gleiche Situation ganz einfach mit nur 1 Fehlerpaket erstellen.
- Installiere neues Ubuntu 14.04 auf VirtualBox.
- Öffnen
software-properties-gtkund aktivieren Sie dasbackportsRepository. Holen Sie sich die Liste der letzten Pakete
sudo apt-get updateFühren Sie aus
apt-get -s install wine, um zu bestätigen,winedass installiert werden kann.Installieren Sie das störende Paket
libcgmanager0aus den Backports$ apt-cache policy libcgmanager0 libcgmanager0: Installed: 0.24-0ubuntu5 Candidate: 0.24-0ubuntu7.5 Version table: 0.39-2ubuntu2~ubuntu14.04.1 0 100 http://dz.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages 0.24-0ubuntu7.5 0 500 http://dz.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages 0.24-0ubuntu7.1 0 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages *** 0.24-0ubuntu5 0 500 http://dz.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages 100 /var/lib/dpkg/statusErzwinge
aptdie Installation derlibcgmanager0Version0.39-2ubuntu2~ubuntu14.04.1sudo apt-get install libcgmanager0=0.39-2ubuntu2~ubuntu14.04.1
Jetzt landen wir in der gleichen Situation des Benutzers wie im Hintergrund. Die Weininstallation schlägt fehl und es werden nur die Abhängigkeitspakete der ersten Ebene angezeigt.
apt-get -s install wineReading 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: wine : Depends: wine1.6 but it is not going to be installed E: Unable to correct problems, you have held broken packages.apt-get -s install wine1.6Reading 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: wine1.6 : Depends: wine1.6-i386 (= 1:1.6.2-0ubuntu4) E: Unable to correct problems, you have held broken packages.apt-get -s install wine1.6-i386Reading 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: wine1.6-i386:i386 : Depends: libglu1-mesa:i386 but it is not going to be installed or libglu1:i386 Depends: libgphoto2-6:i386 (>= 2.5.2) but it is not going to be installed Depends: libgphoto2-port10:i386 (>= 2.5.2) but it is not going to be installed Recommends: libsane:i386 but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Es ist nicht praktisch, Abhängigkeiten einzeln zu verfolgen apt-get install.
Ideale Lösung:
Das eigentliche Problem hier
aptDielibcgmanager0:i386Version konnte nicht installiert werden,0.39-2ubuntu2~ubuntu14.04.1da das Backports-Repository eine niedrigere Priorität als die100Version0.24-0ubuntu7.5aus demupdatesRepository mit hat500aptDielibcgmanager0:i386Version konnte nicht installiert werden,0.24-0ubuntu7.5dalibcgmanager0:amd64sie mit einer anderen Version installiert wurde0.39-2ubuntu2~ubuntu14.04.1
Die schnellste Lösung besteht darin, die Installation derselben i386-Version über Backports zu erzwingen
sudo apt-get install libcgmanager0:i386=0.39-2ubuntu2~ubuntu14.04.1
oder stufen Sie es (amd64) von regulären Repositories auf eine beliebige Version herunter
sudo apt-get install libcgmanager0=0.24-0ubuntu7.5
Möglichkeiten / Werkzeuge, die ich ausprobiert habe:
- Das Deaktivieren von PPAs hat nichts mit dem Problem zu tun.
- Die Verwendung
aptitudeim interaktiven Modus bringt nur Lösungen mit vielen Entfernungen ( > 200 !!! ). - Verwenden Sie diese
apt-get installOption manuell, indem Sie dem Abhängigkeitsbaum folgen. Unpraktisch, da die Abhängigkeiten der ersten und zweiten Ebene keine aussagekräftige Meldung über den Konflikt auslösten. debfosterkann die rekursiven Abhängigkeiten erzeugen, aber nur für bereits installierte Pakete. Istwineaber noch nicht installiert.
Thema / Meine Interessen:
Angenommen, ich möchte wine installieren, ohne das Problem des libcgmanager0Pakets zu kennen (oder genau das libcgmanager0:amd64=0.39-2ubuntu2~ubuntu14.04.1, was bereits installiert ist).
Ich suche nach einer Debug-Methode oder nach einer Möglichkeit, den Namen des problematischen Pakets zu kennen und schnell zu verstehen, was los war.
Wie kann man Probleme mit ungelösten Abhängigkeiten im Allgemeinen beheben?
Vielleicht gibt es einige neue Optionen in
dpkg/apt/aptitudediese Spur der internen Abhängigkeitsauflöser. Das kann sichlibcgmanager0in seiner Ausgabe zeigen.Wenn es keine kanonische Antwort darauf gibt, kann mir jemand einen besseren Weg zeigen, um die Liste der rekursiven Abhängigkeiten zu generieren oder den Abhängigkeits-Resolver mit weiteren Details zu simulieren, die zur Behebung des Problems beitragen können?
Warum alle Abhängigkeiten? Weil ich die Ausgabe der folgenden Befehle für alle Pakete auf einmal überprüfen möchte.
apt-cache policy <all-dependencies>apt-get -s install <all-dependencies>
libcgmanager, sondern mit einer Abhängigkeit? Sie haben erwähnt, dass Abhängigkeiten rekursiv aufgelistet werden. Hast du es versucht apt-rdepends?
wineanderes betroffenes Paket zu installieren -o Debug::pkgProblemResolver=yes?
backportsVersion?