Question L'installation d'un package d'application tiers sur CentOS 6.4 échoue en raison de dépendances manquantes libcrypto.so.10 et libssl.so.10


C'est un Question canonique sur les problèmes de compatibilité binaire OpenSSL entre Red Hat Enterprise Linux (et ses dérivés) 6.4 et 6.5.

Ce problème concerne une grande variété de packages tiers, pas seulement ceux énumérés dans la question initiale.

J'ai installé Percona 5.5 et j'essaie de passer à la version 5.6, mais je rencontre des problèmes inattendus et je ne sais pas comment les résoudre.

J'ai suivi les instructions à http://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html

Et supprimé les packages 5.5, puis exécuté la commande suivante pour mettre à niveau:

yum install Percona-Server-server-56 Percona-Server-client-56

Les erreurs que j'ai reçues sont:

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-Server-client-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: Percona-Server-shared-56 for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
---> Package Percona-Server-server-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Running transaction check
---> Package Percona-Server-client-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
---> Package Percona-Server-server-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
---> Package Percona-Server-shared-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Finished Dependency Resolution
Error: Package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
 You could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 has missing requires of mysql

J'ai tout essayé de la réinstallation de openssl et openssl-devel qui est installé correctement mais cela ne fonctionne toujours pas. Des idées?

J'utilise CentOS 6.4:

root@server01 [/]# cat /proc/version
Linux version 2.6.32-279.5.2.el6.x86_64 (mockbuild@c6b10.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Aug 24 01:07:11 UTC 2012
root@server01 [/]#

16
2017-12-22 21:25


origine


CentOS appelle le paquet dont vous avez besoin "openssl-libs" - Bandrami
Merci beaucoup. J'ai regardé autour de moi, mais je n'ai trouvé aucun résultat pour CentOS 6.4. Savez-vous où chercher? - user2643870


Réponses:


La cause première de ce problème est que Red Hat a rompu la compatibilité binaire de leurs packages OpenSSL entre 6.4 et 6.5, ce qui ils ont promis qu'ils ne feraient pas.

La résolution de ce problème est simple, mais en fonction des applications que vous avez éventuellement déployées, vous risquez de devoir crier aux guichets de vos fournisseurs d'applications. Assurez-vous de réserver l'essentiel de votre colère à votre représentant Red Hat (si vous avez RHEL).


Cause

Red Hat a mis à niveau la version d'OpenSSL dans EL6 de 1.0.0 à 1.0.1 dans la mise à jour 6.5, afin de résoudre une demande de fonctionnalité vieille de plusieurs années ajouter le support de la cryptographie à courbe elliptique. Ce paquet n'est plus compatible avec les binaires et les programmes construits avec OpenSSL 1.0.0 doivent être recréés à partir des sources avec 1.0.1.

À moins d'installer des applications tierces, ce que presque tout le monde fait. Celles-ci doivent également être recompilées. À ce stade, la plupart des tiers l’ont fait et ont construit de nouveaux packages pour la version 6.5. Ce sont ces colis que les tiers envoient généralement aujourd'hui.

Résolution

Identifiez tous les packages tiers concernés et contactez les fournisseurs de packages tiers pour obtenir les mises à jour. Une fois que les mises à jour sont disponibles pour tous les packages, vous pouvez mettre à jour votre système en toute sécurité vers 6.5, en installant les mises à jour de packages tiers en même temps, ce qui terminera la résolution.

Pour les packages installés via le gestionnaire de packages et les référentiels yum, ceci est trivial; essayer simplement de mettre à niveau et pouvoir le faire sans problèmes de dépendance signifie que les paquets sont prêts.

Pour les packages installés manuellement, vous devrez les vérifier vous-même et appliquer les mises à jour fournies par les fournisseurs. Vous devez également faire pression sur ces fournisseurs pour qu'ils fournissent les packages RPM et les référentiels yum appropriés dans ces cas.

La plupart des utilisateurs peuvent mettre à jour à 6.5 avec une commande telle que:

yum --disableexcludes=all --obsoletes update

Les utilisateurs RHEL ayant défini une version mineure spécifique doivent d'abord définir la version 6.5 comme cible de la version avant d'exécuter la mise à jour ci-dessus:

subscription-manager release --set=6.5

À ce stade, vous devriez pouvoir installer le ou les packages tiers que vous tentiez d'installer.


Autres issues

Les utilisateurs de CentOS et d'autres clones RHEL sur certains fournisseurs de Cloud / VPS ou de Cloud peuvent ne pas être en mesure de mettre à jour vers la version 6.5. le yum La commande indiquera qu'aucun paquet n'est marqué pour la mise à jour. Jusqu'ici, j'ai vu cela sur Windows Azure et certains fournisseurs VPS bas de gamme.

Dans ces cas, le fournisseur de l’image CentOS utilisée a modifié /etc/yum.repos.d/CentOS-Base.repo dans l'image pour désigner des référentiels autres que les miroirs officiels CentOS.

Ce problème peut être résolu en modifiant manuellement le fichier de mise en pension pour restaurer les miroirs CentOS officiels ou en localisant le serveur officiel. centos-release RPM sur un miroir CentOS et en le réinstallant. Par exemple (cette URL est seulement valable aujourd'hui et peut être périmée plus tard; vérifiez d'abord votre miroir):

yum update http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-5.el6.centos.11.2.x86_64.rpm

14
2017-12-22 21:48





Vous pouvez installer PS 5.6 une fois que vous avez mis à niveau openssl vers openssl-1.0.1e-15.el6.x86_64.rpm.

Pour 6.4 nous (je travaille pour Percona) disposons également de packages sur mesure: http://www.percona.com/downloads/Percona-Server-5.5-centos-6.4/


5
2018-01-31 01:23



Petite mise à jour, le lien ci-dessus a été supprimé, nous (je travaille pour Percona) aurons bientôt des packages disponibles qui fonctionneront sur toutes les versions de Centos 6.x, y compris Centos 6.4. - Roel
J'ai besoin de cette version :( - Beto Castillo
J'ai aussi besoin de ça, merci de nous le faire savoir lorsqu'il sera disponible, merci! - Herson