Ceci est une question canonique À propos des problèmes de compatibilité binaire OpenSSL entre Red Hat Enterprise Linux (et ses dérivés) 6.4 et 6.5.
Ce problème s'applique à une grande variété de packages tiers, non seulement ceux énumérés dans la question initiale.
J'ai eu Percona 5.5 installé et essaye de passer à 5,6 mais je rencontre des problèmes inattendus et je suis coincé sur la façon de 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 paquets de 5,5, puis dirigez 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 réinstaller OpenSSL et OpenSSL-Devel qui est installé correctement, mais cela ne fonctionne toujours pas. Des idées?
Je cours Centos 6.4:
root@server01 [/]# cat /proc/version
Linux version 2.6.32-279.5.2.el6.x86_64 ([email protected]) (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 [/]#
La cause fondamentale de cette question est que Red Hat a brisé la compatibilité binaire de leurs packages OpenSSL entre 6,4 et 6,5, quelque chose qui ils ont promis qu'ils ne le feraient pas .
Résoudre ce problème est simple, mais en fonction des applications que vous avez peut-être déployées, peut prendre des critères à vos fournisseurs d'applications. Assurez-vous de réserver la plupart de votre IRE pour votre représentant Red Hat (si vous avez RHEL).
Red Hat a mis à niveau la version de OpenSSL dans EL6 à partir de 1.0.0 à 1.0.1 dans la mise à jour 6.5 , afin de résoudre Demande de fonctionnalité d'une des années Pour ajouter une courbe elliptique Soutien Cryptograhpy. Ce paquet n'est plus compatible Binaire et des programmes construits sur OpenSSL 1.0.0 doivent être reconstruits de la source contre 1.0.1.
À moins que vous installiez des applications tierces, bien sûr, que presque tout le monde fait. Ceux-ci doivent également être recomplés, et à ce stade, la plupart des tiers l'ont fait et construit de nouveaux paquets contre 6,5. Ce sont ces forfaits que des tiers expédient généralement aujourd'hui.
Identifiez tous les packages tiers impactés et contactez les fournisseurs de packages tiers pour 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é à 6.5, installer les mises à jour de package tiers en même temps, ce qui complètera la résolution.
Pour les packages installés via le gestionnaire de paquets et les référentiels Yum, cela est trivial; Il suffit de tenter de mettre à niveau et de pouvoir le faire sans problèmes de dépendance signifie que les packages sont prêts.
Pour les packages installés manuellement, vous devrez les vérifier vous-même et appliquer toutes les mises à jour fournies par les fournisseurs. Vous devez également faire pression sur ces fournisseurs pour fournir des packages de RPM appropriés et des référentiels Yum 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 qui ont défini une version mineure spécifique doivent d'abord définir 6,5 comme objectif de libération avant d'exécuter la mise à jour ci-dessus:
subscription-manager release --set=6.5
À ce stade, vous devriez pouvoir installer le (s) paquet (s) tiers que vous essayiez d'installer.
Les utilisateurs de CENTOS et d'autres clones RHEL sur certains VPS ou fournisseurs de cloud peuvent constater qu'ils ne sont pas en mesure de mettre à jour à 6.5. La commande yum
indique qu'aucun package n'est marqué pour la mise à jour. Jusqu'à présent, j'ai vu cela sur Windows Azure et certains fournisseurs de 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 pointer vers des référentiels autres que les miroirs officiels Centos.
Cela peut être résolu en modifiant manuellement le fichier de repo pour restaurer les miroirs Centos officiels ou en localisant l'officiel centos-release
RPM sur un miroir Centos et la réinstallez-la. Par exemple (cette URL n'est que bien aujourd'hui et peut sortir de la date plus tard; vérifier votre miroir d'abord):
yum update http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-5.el6.centos.11.2.x86_64.rpm
Vous pouvez installer PS 5.6 une fois que vous avez mis à niveau OpenSSL sur OpenSSL-1.0.1e-15.el6.x86_64.RPM
Pour 6.4, nous (je travaille pour Percona) dispose également de quelques forfaits personnalisés disponibles: http://www.percona.com/downloads/percona-server-5.5-centeos-6.4/