A instalação de um pacote de aplicativos de terceiros no CentOS 6.4 falha devido à falta de dependências libcrypto.so.10 e libssl.so.10


16

Esta é uma pergunta canônica sobre problemas de compatibilidade binária do OpenSSL entre o Red Hat Enterprise Linux (e seus derivados) 6.4 e 6.5.

Esse problema se aplica a uma ampla variedade de pacotes de terceiros, não apenas aos listados na pergunta original.

Eu tinha o Percona 5.5 instalado e estou tentando atualizar para a versão 5.6, mas estou tendo problemas inesperados e não consigo resolver.

Sigai as instruções em http://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html

E removeu os pacotes 5.5 e, em seguida, executou o seguinte comando para atualizar:

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

Os erros que recebi de volta são:

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

Eu tentei de tudo, desde a reinstalação do openssl e do openssl-devel, que está instalado corretamente, mas ainda não funciona. Alguma ideia?

Estou executando o 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 chama o pacote que você precisa "OpenSSL-libs"
Bandrami

Muito obrigado. Olhei em volta, mas não encontrei nenhum para o CentOS 6.4. Você saberia onde procurar?
user2643870

Respostas:


14

A causa raiz desse problema é que a Red Hat quebrou a compatibilidade binária de seus pacotes OpenSSL entre 6.4 e 6.5, algo que eles prometeram que não fariam .

A solução desse problema é simples, mas, dependendo dos aplicativos que você pode ter implantado, pode levar alguns gritos aos fornecedores de aplicativos. Certifique-se de reservar a maior parte de sua ira para o seu representante Red Hat (se você tiver RHEL).


Causa

A Red Hat atualizou a versão do OpenSSL no EL6 de 1.0.0 para 1.0.1 na atualização 6.5 , a fim de resolver uma solicitação de recurso de anos para adicionar suporte à criptografia de curva elíptica. Este pacote não é mais compatível com binários e os programas que foram criados no OpenSSL 1.0.0 devem ser reconstruídos da fonte no 1.0.1.

A menos que você esteja instalando aplicativos de terceiros, é claro, o que quase todo mundo faz. Eles também precisam ser recompilados e, neste momento, a maioria de terceiros o fez e construíram novos pacotes contra o 6.5. São esses pacotes que geralmente são enviados por terceiros hoje.

Resolução

Identifique todos os pacotes de terceiros afetados e entre em contato com os fornecedores de pacotes de terceiros para obter atualizações. Depois que as atualizações estiverem disponíveis para todos os pacotes, você poderá atualizar o sistema com segurança para 6.5, instalando as atualizações de pacotes de terceiros ao mesmo tempo, o que concluirá a resolução.

Para pacotes instalados através do gerenciador de pacotes e dos repositórios yum, isso é trivial; simplesmente tentar atualizar e poder fazer isso sem problemas de dependência significa que os pacotes estão prontos.

Para pacotes instalados manualmente, você mesmo deve verificar esses itens e aplicar as atualizações fornecidas pelos fornecedores. Você também deve pressionar esses fornecedores a fornecer pacotes RPM adequados e repositórios yum nesses casos.

A maioria dos usuários pode atualizar para a 6.5 com um comando como:

yum --disableexcludes=all --obsoletes update

Os usuários do RHEL que definiram uma versão secundária específica devem primeiro definir a versão 6.5 como destino da versão antes de executar a atualização acima:

subscription-manager release --set=6.5

Nesse ponto, você poderá instalar os pacotes de terceiros que estava tentando instalar.


Outros problemas

Os usuários do CentOS e de outros clones RHEL em determinados provedores de VPS ou nuvem podem achar que não conseguem atualizar para a 6.5. O yumcomando indicará que nenhum pacote está marcado para atualização. Até agora, já vi isso no Windows Azure e em alguns provedores de VPS low-end.

Nesses casos, o provedor da imagem do CentOS em uso foi modificado /etc/yum.repos.d/CentOS-Base.repona imagem para apontar para repositórios que não sejam os espelhos oficiais do CentOS.

Isso pode ser resolvido editando manualmente o arquivo repo para restaurar os espelhos oficiais do CentOS ou localizando o centos-releaseRPM oficial em um espelho do CentOS e reinstalando-o. Por exemplo (este URL é bom apenas hoje e pode ficar desatualizado mais tarde; verifique seu espelho primeiro):

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

5

Você pode instalar o PS 5.6 depois de atualizar o openssl para openssl-1.0.1e-15.el6.x86_64.rpm

Para o 6.4, nós (eu trabalho para a Percona) também temos alguns pacotes personalizados disponíveis: http://www.percona.com/downloads/Percona-Server-5.5-centos-6.4/


Pequena atualização, o link acima foi removido, nós (eu trabalho para a Percona) em breve teremos pacotes disponíveis que funcionarão em todas as versões do Centos 6.x, incluindo Centos 6.4
Roel Van de Paar

Preciso desta versão :(
Beto Castillo

Eu também preciso disso, informe-nos quando disponível, obrigado!
Herson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.