L'installazione di un pacchetto di applicazioni di terze parti su CentOS 6.4 non riesce a causa di dipendenze mancanti libcrypto.so.10 e libssl.so.10


16

Questa è una domanda canonica sui problemi di compatibilità binaria OpenSSL tra Red Hat Enterprise Linux (e i suoi derivati) 6.4 e 6.5.

Questo problema riguarda una vasta gamma di pacchetti di terze parti, non solo quelli elencati nella domanda originale.

Avevo installato Percona 5.5 e sto provando ad aggiornare a 5.6 ma sto riscontrando problemi imprevisti e sono bloccato su come risolverli.

Ho seguito le istruzioni su http://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html

E rimosso i pacchetti 5.5, quindi eseguito il seguente comando per l'aggiornamento:

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

Gli errori che ho ricevuto sono:

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

Ho provato di tutto dalla reinstallazione di openssl e openssl-devel che è installato correttamente ma non funziona ancora. Qualche idea?

Sto usando 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 [/]#

CentOS chiama il pacchetto necessario "openssl-libs"
Bandrami il

Grazie mille. Mi sono guardato intorno ma non ne ho trovato nessuno per CentOS 6.4 Sapresti dove cercare?
user2643870

Risposte:


14

La causa principale di questo problema è che Red Hat ha rotto la compatibilità binaria dei loro pacchetti OpenSSL tra 6.4 e 6.5, cosa che hanno promesso che non avrebbero fatto .

Risolvere questo problema è semplice, ma a seconda delle applicazioni che potresti aver distribuito, potrebbe richiedere un po 'di grida ai fornitori delle tue applicazioni. Assicurati di prenotare la maggior parte della tua ira per il vostro rappresentante Red Hat (se avete RHEL).


Causa

Red Hat ha aggiornato la versione di OpenSSL in EL6 dalla 1.0.0 alla 1.0.1 nell'aggiornamento 6.5 , al fine di risolvere una richiesta di funzionalità vecchia di anni per aggiungere il supporto crittografico della curva ellittica. Questo pacchetto non è più compatibile con i binari e i programmi creati con OpenSSL 1.0.0 devono essere ricostruiti dall'origine rispetto a 1.0.1.

A meno che tu non stia installando applicazioni di terze parti, ovviamente, quasi tutti. Anche quelli devono essere ricompilati, e a questo punto la maggior parte delle terze parti lo ha fatto e ha creato nuovi pacchetti contro 6.5. Sono questi i pacchi che oggi vengono generalmente spediti da terzi.

Risoluzione

Identifica tutti i pacchetti di terze parti interessati e contatta i fornitori di pacchetti di terze parti per gli aggiornamenti. Una volta che gli aggiornamenti sono disponibili per tutti i pacchetti, è possibile aggiornare il sistema in modo sicuro alla 6.5, installando contemporaneamente gli aggiornamenti dei pacchetti di terze parti, che completeranno la risoluzione.

Per i pacchetti installati tramite il gestore pacchetti e i repository yum, questo è banale; semplicemente tentando di aggiornare e riuscire a farlo senza problemi di dipendenza significa che i pacchetti sono pronti.

Per i pacchetti installati manualmente, sarà necessario controllarli da soli e applicare tutti gli aggiornamenti forniti dai fornitori. In questi casi, dovresti anche fare pressione su questi fornitori affinché forniscano pacchetti RPM e repository yum adeguati.

La maggior parte degli utenti può aggiornare alla 6.5 con un comando come:

yum --disableexcludes=all --obsoletes update

Gli utenti RHEL che hanno impostato una versione secondaria specifica devono prima impostare 6.5 come destinazione della versione prima di eseguire l'aggiornamento sopra:

subscription-manager release --set=6.5

A questo punto dovresti essere in grado di installare i pacchetti di terze parti che stavi tentando di installare.


Altri problemi

Gli utenti di CentOS e altri cloni RHEL su determinati provider VPS o cloud potrebbero non riuscire ad aggiornare a 6.5. Il yumcomando indicherà che nessun pacchetto è contrassegnato per l'aggiornamento. Finora ho visto questo su Windows Azure e alcuni provider VPS di fascia bassa.

In questi casi, il fornitore dell'immagine CentOS in uso è stato modificato /etc/yum.repos.d/CentOS-Base.reponell'immagine per puntare a repository diversi dai mirror CentOS ufficiali.

Ciò può essere risolto modificando manualmente il file repo per ripristinare i mirror CentOS ufficiali o individuando l' centos-releaseRPM ufficiale su un mirror CentOS e reinstallandolo. Ad esempio (questo URL è valido solo oggi e potrebbe non essere aggiornato in seguito; controlla prima il tuo mirror):

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

5

Puoi installare PS 5.6 dopo aver aggiornato openssl a openssl-1.0.1e-15.el6.x86_64.rpm

Per 6.4 abbiamo (lavoro per Percona) anche alcuni pacchetti personalizzati disponibili: http://www.percona.com/downloads/Percona-Server-5.5-centos-6.4/


Piccolo aggiornamento, il link sopra è stato rimosso, presto (io lavoro per Percona) avremo presto pacchetti disponibili che funzioneranno su tutte le versioni di Centos 6.x, incluso Centos 6.4
Roel Van de Paar,

Ho bisogno di questa versione :(
Beto Castillo,

Ho anche bisogno di questo, fatecelo sapere quando disponibile, grazie!
Herson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.