La instalación de un paquete de aplicaciones de terceros en CentOS 6.4 falla debido a la falta de dependencias libcrypto.so.10 y libssl.so.10

16

Esta es una pregunta canónica sobre los problemas de compatibilidad binaria de OpenSSL entre Red Hat Enterprise Linux (y sus derivados) 6.4 y 6.5.

Este problema se aplica a una amplia variedad de paquetes de terceros, no solo a los enumerados en la pregunta original.

Tenía instalado Percona 5.5 y estoy tratando de actualizar a 5.6, pero me encuentro con problemas inesperados y no sé cómo resolverlos.

Seguí las instrucciones en http://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html

Y eliminó los paquetes 5.5, luego ejecutó el siguiente comando para actualizar:

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

Los errores que recibí son:

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

He intentado todo desde reinstalar openssl y openssl-devel que está instalado correctamente pero aún no funciona. ¿Algunas ideas?

Estoy ejecutando 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 [/]#
usuario2643870
fuente
CentOS llama al paquete que necesita "openssl-libs"
Bandrami
Muchas gracias. Miré a mi alrededor pero no pude encontrar ninguna para CentOS 6.4 ¿Sabrías dónde buscar?
user2643870

Respuestas:

14

La causa raíz de este problema es que Red Hat rompió la compatibilidad binaria de sus paquetes OpenSSL entre 6.4 y 6.5, algo que prometieron que no harían .

Resolver este problema es sencillo, pero dependiendo de las aplicaciones que pueda haber implementado, puede tomar algunos gritos a sus proveedores de aplicaciones. Asegúrese de reservar la mayor parte de su ira para su representante de Red Hat (si tiene RHEL).


Porque

Red Hat actualizó la versión de OpenSSL en EL6 de 1.0.0 a 1.0.1 en la actualización 6.5 , con el fin de resolver una solicitud de función de años de antigüedad para agregar soporte criptográfico de curva elíptica. Este paquete ya no es compatible con binarios, y los programas que se crearon con OpenSSL 1.0.0 deben reconstruirse desde el origen con 1.0.1.

A menos que esté instalando aplicaciones de terceros, por supuesto, lo que casi todos hacen. También es necesario volver a compilarlos, y en este punto la mayoría de los terceros lo han hecho y han creado nuevos paquetes con 6.5. Son estos paquetes los que los terceros generalmente envían hoy.

Resolución

Identifique todos los paquetes de terceros afectados y póngase en contacto con los proveedores de paquetes de terceros para obtener actualizaciones. Una vez que haya actualizaciones disponibles para todos los paquetes, puede actualizar su sistema de manera segura a 6.5, instalando las actualizaciones de paquetes de terceros al mismo tiempo, lo que completará la resolución.

Para los paquetes instalados a través del administrador de paquetes y los repositorios yum, esto es trivial; simplemente intentar actualizar y poder hacerlo sin problemas de dependencia significa que los paquetes están listos.

Para los paquetes instalados manualmente, deberá verificarlos usted mismo y aplicar las actualizaciones que hayan proporcionado los proveedores. También debe presionar a estos proveedores para que proporcionen paquetes RPM adecuados y repositorios yum en estos casos.

La mayoría de los usuarios pueden actualizar a 6.5 con un comando como:

yum --disableexcludes=all --obsoletes update

Los usuarios de RHEL que han establecido una versión menor específica primero deben configurar 6.5 como destino de la versión antes de ejecutar la actualización anterior:

subscription-manager release --set=6.5

En este punto, debería poder instalar los paquetes de terceros que estaba intentando instalar.


Otros asuntos

Los usuarios de CentOS y otros clones RHEL en ciertos proveedores de VPS o en la nube pueden encontrar que no pueden actualizar a 6.5. El yumcomando indicará que no hay paquetes marcados para actualización. Hasta ahora he visto esto en Windows Azure y algunos proveedores de VPS de gama baja.

En estos casos, el proveedor de la imagen CentOS en uso ha modificado /etc/yum.repos.d/CentOS-Base.repola imagen para apuntar a repositorios que no sean los espejos oficiales de CentOS.

Esto se puede resolver editando manualmente el archivo de repositorio para restaurar las réplicas oficiales de CentOS, o localizando el centos-releaseRPM oficial en una réplica de CentOS y reinstalando. Por ejemplo (esta URL solo es válida hoy y puede quedar desactualizada más tarde; revise su espejo primero):

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

Puede instalar PS 5.6 una vez que haya actualizado openssl a openssl-1.0.1e-15.el6.x86_64.rpm

Para 6.4 nosotros (trabajo para Percona) también tenemos algunos paquetes personalizados disponibles: http://www.percona.com/downloads/Percona-Server-5.5-centos-6.4/

Roel Van de Paar
fuente
Pequeña actualización, se eliminó el enlace de arriba, nosotros (trabajo para Percona) pronto tendremos paquetes disponibles que funcionarán en todas las versiones de Centos 6.x, incluyendo Centos 6.4
Roel Van de Paar
Necesito esta versión :(
Beto Castillo
También necesito esto, háganos saber cuando esté disponible, ¡gracias!
Herson