Das ist einKanonische Fragezu binären OpenSSL-Kompatibilitätsproblemen zwischen Red Hat Enterprise Linux (und seinen Derivaten) 6.4 und 6.5.
Dieses Problem betrifft eine Vielzahl von Drittanbieterpaketen, nicht nur die in der ursprünglichen Frage aufgeführten.
Ich hatte Percona 5.5 installiert und versuche, auf 5.6 zu aktualisieren, aber ich stoße auf unerwartete Probleme und weiß nicht, wie ich sie lösen soll.
Ich habe die Anweisungen befolgt unterhttp://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html
Und habe die 5.5-Pakete entfernt und dann den folgenden Befehl zum Upgrade ausgeführt:
yum install Percona-Server-server-56 Percona-Server-client-56
Die Fehler, die ich zurückerhalten habe, sind:
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
Ich habe alles versucht, von der Neuinstallation von OpenSSL bis zu OpenSSL-Devel, das korrekt installiert ist, aber es funktioniert immer noch nicht. Irgendwelche Ideen?
Ich verwende 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 [/]#
Antwort1
Die Ursache dieses Problems liegt darin, dass Red Hat die Binärkompatibilität seiner OpenSSL-Pakete zwischen 6.4 und 6.5 unterbrochen hat.Sie versprachen, dass sie es nicht tun würden.
Die Lösung dieses Problems ist unkompliziert, aber je nachdem, welche Anwendungen Sie bereitgestellt haben, müssen Sie Ihre Anwendungsanbieter möglicherweise etwas anschreien. Richten Sie Ihren Ärger am besten auf Ihren Red Hat-Vertreter (wenn Sie RHEL haben).
Ursache
Red Hat hat die Version von OpenSSL in EL6 aktualisiertvon 1.0.0 auf 1.0.1 im Update 6.5, um zu löseneine jahrelange Funktionsanfrageum Unterstützung für elliptische Kurvenkryptographie hinzuzufügen. Dieses Paket ist nicht mehr binärkompatibel und Programme, die mit OpenSSL 1.0.0 erstellt wurden, müssen aus dem Quellcode für 1.0.1 neu erstellt werden.
Es sei denn, Sie installieren Anwendungen von Drittanbietern, was fast jeder tut. Diese müssen ebenfalls neu kompiliert werden, und mittlerweile haben die meisten Drittanbieter dies getan und neue Pakete für 6.5 erstellt. Diese Pakete werden heute im Allgemeinen von Drittanbietern ausgeliefert.
Auflösung
Identifizieren Sie alle betroffenen Drittanbieterpakete und wenden Sie sich an die Drittanbieterpaketanbieter, um Updates zu erhalten. Sobald Updates für alle Pakete verfügbar sind, können Sie Ihr System problemlos auf 6.5 aktualisieren und gleichzeitig die Drittanbieterpaketupdates installieren, wodurch die Lösung abgeschlossen wird.
Für Pakete, die über den Paketmanager und Yum-Repositorys installiert wurden, ist dies trivial. Ein einfacher Upgrade-Versuch und die Möglichkeit, dies ohne Abhängigkeitsprobleme durchzuführen, bedeutet, dass die Pakete bereit sind.
Bei manuell installierten Paketen müssen Sie diese selbst überprüfen und alle von den Anbietern bereitgestellten Updates anwenden. In diesen Fällen sollten Sie diese Anbieter auch dazu drängen, geeignete RPM-Pakete und Yum-Repositories bereitzustellen.
Die meisten Benutzer können mit einem Befehl wie dem folgenden auf 6.5 aktualisieren:
yum --disableexcludes=all --obsoletes update
RHEL-Benutzer, die eine bestimmte Nebenversion festgelegt haben, müssen zunächst 6.5 als Release-Ziel festlegen, bevor sie das obige Update ausführen:
subscription-manager release --set=6.5
An diesem Punkt sollten Sie in der Lage sein, die Drittanbieterpakete zu installieren, die Sie installieren wollten.
Andere Probleme
Benutzer von CentOS und anderen RHEL-Klonen bei bestimmten VPS- oder Cloud-Anbietern können möglicherweise nicht auf 6.5 aktualisieren. Der yum
Befehl gibt an, dass keine Pakete zum Aktualisieren markiert sind. Bisher habe ich dies bei Windows Azure und einigen Low-End-VPS-Anbietern gesehen.
In diesen Fällen hat der Anbieter des verwendeten CentOS-Images Änderungen /etc/yum.repos.d/CentOS-Base.repo
am Image vorgenommen, sodass es auf andere Repositories als die offiziellen CentOS-Mirrors verweist.
Dies kann entweder durch manuelles Bearbeiten der Repo-Datei behoben werden, um die offiziellen CentOS-Mirrors wiederherzustellen, oder indem Sie das offizielle centos-release
RPM auf einem CentOS-Mirror suchen und neu installieren. Beispiel (diese URL ist nur heute gültig und kann später veraltet sein; überprüfen Sie zuerst Ihren Mirror):
yum update http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-5.el6.centos.11.2.x86_64.rpm
Antwort2
Sie können PS 5.6 installieren, sobald Sie OpenSSL auf openssl-1.0.1e-15.el6.x86_64.rpm aktualisiert haben.
Für 6.4 haben wir (ich arbeite für Percona) auch einige maßgeschneiderte Pakete verfügbar: http://www.percona.com/downloads/Percona-Server-5.5-centos-6.4/