Après la mise à niveau de 10.04 à 12.04, j'essaie d'installer différents packages. Par exemple, ia32-libs et skype (4.0).
En essayant d’installer ces fichiers, le message d’erreur «Impossible de corriger les problèmes, vous avez mis en attente des paquets cassés».
Sortie de commandes:
sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Après avoir exécuté ceci:
sudo dpkg --configure -a
foo@foo:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
sudo apt-get install ia32-libs
) et la sortie de cette commande. Aussi,sudo apt-get dist-upgrade
affiche- t -il les mises à jour disponibles?Réponses:
Ce message d'erreur peut indiquer que vous avez mis en attente des packages, mais il peut également indiquer un problème différent.
Vous pouvez obtenir une liste de réels paquets détenus avec:
S'il n'y en a pas, ou aucun n'a l'air lié, alors c'est probablement autre chose. Vérifiez attentivement le résultat de la commande que vous avez essayée lorsque vous avez reçu le message d'erreur, car il peut y avoir d'autres indices dans la sortie complète de cette commande, en plus du message d'erreur.
Une autre méthode de dépannage peut être d'utiliser aptitude plutôt qu'apt-get pour essayer d'installer votre paquet:
Aptitude abandonnera moins facilement et tentera de trouver des solutions pouvant impliquer la modification d'autres packages. Cela peut vous donner plus d'explications sur le problème et des options pour le résoudre.
Occasionnellement, aptitude sera trop pressé de supprimer ou de rétrograder un grand nombre de packages pour satisfaire votre demande. Dans ce cas, réessayer avec des
-f
changements de priorités et l'aider à proposer des solutions impliquant de supprimer / rétrograder un nombre inférieur de packages, même si cela ne signifie pas que toutes les modifications demandées peut aller de l'avant:la source
Cela m'est arrivé aussi. Tout ce que j'ai fait était
sudo apt-get update
et cela a résolu mon problème. Bonne chance.la source
J'ai rencontré un scénario similaire concernant les dépendances manquantes. Dans mon cas, j'essayais d'installer curl sur la salamandre délurée d'ubuntu 13.10 ...
L'erreur indiquait que la dépendance nécessitait une version antérieure de la bibliothèque curl3.
J'ai réussi à me dégrader par rapport à la version précédente en essayant d'installer curl à l'aide d'aptitude.
Lorsqu'il a noté la dépendance manquante et la raison (nécessitait une version antérieure du fichier de bibliothèque), plusieurs options s'offraient à moi pour réagir ... y// n/q
Yaurait abandonné l’installation, Nchercherait une autre option, Qquitterait simplement et ne ferait plus rien, en laissant un paquet cassé.
J'ai sélectionné Net cela m'a donné la possibilité de rétrograder le fichier de bibliothèque vers une version antérieure. C'est donc ce que j'ai fait et curl a terminé l'installation sans plus d'erreur.
la source
J'ai eu un scénario similaire dans une nouvelle installation de 14.04, sans aucun fichier répertorié dans
dpkg --get-selections | grep hold
, et aucune joie aprèssudo apt-get update
.Qu'est - ce que ça a résolu pour moi était un simple
Lorsque j'ai essayé de réinstaller le paquet défaillant, cela a bien fonctionné. Yay!
la source
Avait le même problème, j'ai exécuté cette commande de vérification de paquet de l'autre answer (
dpkg --get-selections | grep hold
) et ai vualors j'ai utilisé "
apt-get remove tomcat7-common
"Ensuite, je pourrais installer Tomcat 6 (je retirais Tomcat 7 et installais Tomcat 6 comme vous le faites).
la source
Ce sont des moyens rapides et faciles pour corriger l'
you have held broken packages
erreur.Ouvrez votre fichier sources.list
/etc/apt/sources.list
et vérifiez qu’il n’existe aucune source logicielle pour une version d’Ubuntu différente de la version d’Ubuntu que vous utilisez actuellement. Si vous trouvez des lignes de version incorrectes dans sources.list, ouvrez le fichier sources.list avecsudoedit /etc/apt/sources.list
, mettez en commentaire les lignes incorrectes dans sources.list en les précédant d'un#
caractère, enregistrez le fichier sources.list et exécutez lasudo apt update
mise à jour de la liste. logiciels disponibles.Sélectionnez l' option Fix Broken Packages dans le gestionnaire de paquets Synaptic. Exécutez les commandes suivantes pour installer Synaptic.
Ouvrez Synaptic et dans Synaptic, sélectionnez Edition -> Corriger les paquets endommagés , puis répétez Édition -> Corriger les paquets endommagés une seconde fois.
Dans Synaptic, dans le volet de gauche, cliquez sur le bouton Filtres personnalisés qui est marqué par le curseur de la souris dans la capture d'écran ci-dessous. Dans la liste située dans le coin supérieur gauche, sélectionnez Broken . Dans le volet central, tous les paquets cassés devant encore être réparés sont répertoriés.
Sélectionnez les paquets cassés un à la fois. Sélectionnez un paquet cassé, puis ouvrez le terminal et exécutez-le . Les résultats de cette commande vous indiqueront si ce paquetage endommagé a été installé à partir des référentiels Ubuntu par défaut ou d'une autre source. Si le paquetage endommagé a été installé à partir d'une autre source, ce paquetage peut éventuellement être supprimé avec sa source de logiciel et remplacé par une version différente du même paquetage à partir des référentiels Ubuntu par défaut. Habituellement, cela signifie réparer un paquet endommagé en le rétrogradant à une version plus ancienne.
apt policy <package-name>
Si vous obtenez ce message d'erreur:
Exécutez les commandes suivantes:
Supprimer manuellement un paquet cassé.
Trouvez votre colis dans
/var/lib/dpkg/info
Déplacez le dossier du package vers un autre emplacement.
Exécutez la commande suivante:
Si toutes ces méthodes ne fonctionnent pas, il est possible que les packages cassés soient causés par quelque chose qui est si profondément intégré dans le système d'exploitation qu'aucune de ces méthodes n'a d'effet. Le premier endroit évident pour rechercher ce "quelque chose" profondément intégré est dans les sources de logiciels de
/etc/apt/sources.list
. Vérifiez le fichier sources.list pour voir s’il contient des lignes non standard pouvant être à l’origine d’une erreur de package cassé. Un fichier sources.list Ubuntu standard ressemble aux fichiers sources.list de cette réponse .La bonne façon de supprimer une ligne suspecte de sources.list est de la commenter en la faisant précéder d'un
#
caractère. Puis exécutezsudo apt update
pour actualiser la liste des logiciels disponibles.la source
Pour moi, rien de ce qui précède n'a fonctionné car mon système n'a pas été mis à jour. J'ai fait
Home Key > Software Updater > Install
et mis à jour mon système; ensuite, je pourrais installer mon paquet normalement avec
apt
.la source
J'ai eu le même problème lors de la réinstallation
xsane
après uneppa
installation défaillante . Comme il est arrivé à yochannah, "pas de fichiers listés dansdpkg --get-selections | grep hold
, ni de joie aprèssudo apt-get update
".L'indice qui
apt-get
m'a donné estxsane : Depends: libsane (>= 1.0.24) but it is not going to be installed
En raison de la réponse de yochannah, j’ai eu le sentiment que je devais supprimer certains paquets précédemment installés. Et c’est ainsi que j’ai dû supprimer manuellement tous les packages associés
sane
, notamment,xsane-common
etlibsane
qui étaient toujours installés en tant queppa
version.Par conséquent, faites attention à ce que vous avez déjà installé et rangez!
la source