Ursache

Ursache

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 yumBefehl 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.repoam 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-releaseRPM 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/

verwandte Informationen