Remarque sur les doublons possibles:
AFAIK, Ce n'est pas un doublon de Comment résoudre les dépendances non satisfaites après avoir ajouté un PPA? sinon, prouvez-le en résolvant le problème de test que je mentionne ci-dessous en utilisant n'importe quelle réponse à partir de là.
Contexte:
J'ai rencontré ce problème avant Comment réparer le vin d'installation sur Ubuntu 14.04.3LTS 64 bits . Il a été résolu par un examen manuel / humain de toutes les dépendances récursives du package cible ( wine).
Reproduisez le problème (cas de test):
Créons la même situation silencieuse et simplifiée avec un seul ensemble de problèmes.
- Installez la nouvelle Ubuntu 14.04 sur VirtualBox.
- Ouvrez
software-properties-gtket activez lebackportsréférentiel. Obtenir la dernière liste des packages
sudo apt-get updateExécutez
apt-get -s install winepour confirmer qu'ilwinepeut être installé.Installez le package troublant à
libcgmanager0partir de 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/statusForcer l'
aptinstallation de lalibcgmanager0version0.39-2ubuntu2~ubuntu14.04.1sudo apt-get install libcgmanager0=0.39-2ubuntu2~ubuntu14.04.1
Maintenant, nous nous retrouvons dans la même situation que l'utilisateur de la question mentionnée en arrière-plan, l'installation de wine échoue avec une dépendance non satisfaite, affichant uniquement les packages de dépendance de premier niveau.
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.
Il n'est pas pratique de suivre les dépendances apt-get installune par une.
Solution idéale:
Le vrai problème ici
aptn'a pas pu installer lalibcgmanager0:i386version0.39-2ubuntu2~ubuntu14.04.1car le référentiel backports a une priorité100inférieure à la version0.24-0ubuntu7.5duupdatesréférentiel avec500aptimpossible d'installer lalibcgmanager0:i386version0.24-0ubuntu7.5carlibcgmanager0:amd64est installé avec une version différente0.39-2ubuntu2~ubuntu14.04.1
La solution la plus rapide consiste à forcer l'installation de la même version i386 à partir des rétroportages
sudo apt-get install libcgmanager0:i386=0.39-2ubuntu2~ubuntu14.04.1
ou le rétrograder (amd64) vers n'importe quelle version à partir de référentiels réguliers
sudo apt-get install libcgmanager0=0.24-0ubuntu7.5
Méthodes / outils que j'ai essayés:
- La désactivation des PPA n'a aucun rapport avec le problème.
- L'utilisation
aptitudeen mode interactif, n'apporte que des solutions avec de nombreux suppressions ( > 200 !!! ). - Utilisez
apt-get installmanuellement en suivant l'arborescence des dépendances. Peu pratique, car les dépendances de premier et deuxième niveau n'ont pas soulevé de message significatif sur le conflit. debfosterpeut générer les dépendances récursives mais uniquement pour le package déjà installé. Cependantwinen'est pas encore installé.
Sujet / Mes intérêts:
Disons que je veux installer wine sans connaître le problème de libcgmanager0package (ou exactement libcgmanager0:amd64=0.39-2ubuntu2~ubuntu14.04.1celui déjà installé).
Je cherche une méthode de débogage ou un moyen de connaître le nom du paquet troublant et de comprendre rapidement ce qui se passait.
Comment déboguer les problèmes de dépendances non satisfaits en général?
Il peut y avoir de nouvelles options dans
dpkg/apt/aptitudequi tracent le résolveur de dépendance interne. Cela peut apparaîtrelibcgmanager0dans sa sortie.S'il n'y a pas de réponse canonique à cela, quelqu'un pourrait-il me montrer une meilleure façon de générer la liste des dépendances récursives ou de simuler le résolveur de dépendances avec plus de détails qui peuvent aider à résoudre le problème?
Pourquoi toutes les dépendances? Parce que je veux vérifier la sortie des commandes ci-dessous pour tous les packages à la fois.
apt-cache policy <all-dependencies>apt-get -s install <all-dependencies>
libcgmanager, mais avec une dépendance? Vous avez mentionné la liste récursive des dépendances. As-tu essayé apt-rdepends?
wine(ou un autre package affecté) avec -o Debug::pkgProblemResolver=yes?
backportsversion?