Je cours Ubuntu 14.04. Je ne peux pas utiliser de centre logiciel pour installer quoi que ce soit, même un paquet deb local, je dois donc faire confiance à Terminal.
Récemment, j'essayais d'installer mysql-server
qui générait une erreur que je pouvais identifier. Il s'agissait de la version requise de libstdc ++ 6. Mon système avait 4.8.x alors que mysql 5.6 était requis> = 4.9. En essayant le processus de mise à niveau habituel et en échec, j'ai consulté mon administrateur système, qui a essayé d'installer le paquet 4.9 manuellement (en utilisant un paquet .deb local), ce qui a également échoué en citant des dépendances non satisfaites.
À l'heure actuelle, ce que j'ai est un système avec une erreur en disant qu'aucun nouveau logiciel ne peut être installé.
Le Sudo apt-get install -f
donne le résultat suivant:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
libstdc++6 : Depends: gcc-4.9-base (= 4.9.2-10) but 4.9.1-0ubuntu1 is installed
libstdc++6:i386 : Depends: gcc-4.9-base:i386 (= 4.9.2-10) but 4.9.1-0ubuntu1 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
J'ai vérifié les colis retenus en utilisant
dpkg -l | grep ^h
dpkg -l | grep hold
Résultat: rien.
Également essayé de trouver le paquetage cassé, s'il en existe un autre que le fichier /var/log/dist-upgrade/apt.log
n'existe pas.
Alors, que dois-je/puis-je faire maintenant?.
Votre problème de dépendances non résolues est dû au référentiel de référentiels MySQL APT. MySQL Server 5.6 à partir de MySQL APT Le référentiel nécessite libstdc ++ 6> = 4.9 mais MySQL Server 5.6 (mysql-server-5.6) à partir des référentiels Ubuntu par défaut nécessite libstdc ++ 6 > = 4.6. Lorsque vous installez la version de MySQL Server 5.6 (mysql-server-5.6) à partir des référentiels Ubuntu par défaut, toutes les dépendances du paquet sont automatiquement résolues.
Pour résoudre le problème, vous devez supprimer le référentiel MySQL APT, puis désinstaller tous les packages que vous avez installés à partir du référentiel MySQL APT.
Pour supprimer le référentiel MySQL APT, utilisez une commande de la forme suivante:
Sudo dpkg --remove package-name
où vous remplacez nom-paquet par le nom du paquet MySQL APT Référentiel que vous avez précédemment installé. Sinon, vous pouvez également rechercher dans le Centre de logiciel Ubuntu le package MySQL APT Repository .deb que vous avez installé et le supprimer de celui-ci.
Ensuite, installez MySQL Server 5.6 avec la commande:
Sudo apt install mysql-server-5.6
Utilisez "aptitude" pour résoudre le problème.
Sudo apt-get install aptitude
Sudo aptitude remove mysql-apt-config
Suivez maintenant les solutions proposées.
libstdc ++ 6: Dépend de: gcc-4.9-base (= 4.9.2-10) mais 4.9.1-0ubuntu1 est installé
Le paquet gcc-4.9-base (= 4.9.2-10) est uniquement disponible pour Ubuntu Vivid.
Vérifiez this (utopic) et this (vivid) .
Supprimez le paquet mysql-apt-config
installé par ces instructions et utilisez mysql-server
pour obtenir la dernière version.
Sudo dpkg --force-all -P mysql-apt-config
Sudo apt-get install mysql-server
Cette erreur se produit car le paquet que vous essayez de télécharger et d'installer nécessite libstdc ++ 6> = 4.9. La dernière version de libstdc ++ 6 disponible sur les référentiels Ubuntu 14.04 LTS est 4.8.2-19ubuntu1, une version antérieure à 4.9.
Je suppose que vous utilisez Ubuntu 14.04, car le paquet libstdc ++ 6 sur votre ordinateur est bloqué à 4.8.2-19ubuntu1. Le référentiel MySQL APT contient actuellement des packages pour trois versions d'Ubuntu: 12.04, 14.04 et 14.10. Les packages pour 12.04 et 14.04 ne nécessitent que libstdc ++ 6> = 4.6, tandis que 14.10 requiert la version libstdc ++ 6> = 4.9.
Vérifiez que vous avez bien installé le paquet mysql-apt-config approprié à votre version d'Ubuntu.