glibc.i686 está em conflito com libc6?

1

Eu tenho um servidor Redhat Enterprise Linux de 64 bits (versão 6.3) que não quer me permitir instalar o módulo glibc.i686 para compatibilidade com 32 bits. Quando tento yum install glibc.i686 como root, isso me dá uma longa sequência de erros como este:

Transaction Check Error:
  file /lib/libc.so.6 from install of glibc-2.12-1.80.el6_3.6.i686 conflicts with file from package libc6-6:2.15-1.x86_64
  file /lib/libm.so.6 from install of glibc-2.12-1.80.el6_3.6.i686 conflicts with file from package libc6-6:2.15-1.x86_64
  file /lib/libpthread.so.0 from install of glibc-2.12-1.80.el6_3.6.i686 conflicts with file from package libc6-6:2.15-1.x86_64

Aqui está a saída de rpm -qa grepping para glibc e libc6:

# rpm -qa | grep glibc
glibc-common-2.12-1.80.el6_3.6.x86_64
glibc-2.12-1.80.el6_3.6.x86_64

# rpm -qa | grep libc6
libc6-2.15-1.x86_64

O Google não produziu nada de muito útil, apesar de meus melhores esforços.

Por que esses dois pacotes estão em conflito e como posso fazê-los funcionar juntos?

EDITAR:

Aqui está a saída de yum repolist :

# yum repolist
Loaded plugins: product-id, rhnplugin, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
repo id                   repo name                                                   status
rhel-x86_64-server-6      Red Hat Enterprise Linux Server (v. 6 for 64-bit x86_64)    8,824
repolist: 8,824
    
por Will Martin 24.01.2013 / 22:07

1 resposta

1

Não há pacote libc6 no Red Hat Enterprise Linux. O nome do pacote para os mesmos arquivos é glibc . Parece que alguém instalou um pacote em seu servidor a partir de uma distribuição Linux diferente e cancelou os erros que teria recebido ao tentar fazer isso (que são praticamente os mesmos que você viu aqui).

Isso, é claro, coloca seu banco de dados RPM em um estado inconsistente em relação ao software real instalado e pode causar problemas de compatibilidade e dependência, como os que você encontrou hoje. Não é mais possível atualizar os pacotes dos repositórios suportados, por exemplo, e é difícil determinar exatamente qual código está sendo executado no sistema.

Meu melhor palpite é que alguém (que realmente não sabe o caminho certo para fazer isso) tentou atualizar o glibc além da versão fornecida pela Red Hat, muito provavelmente para tirar proveito de um novo recurso que não está presente em a versão do glibc enviada com o EL6.

O caminho certo, se você realmente precisa desta versão tardia do glibc, é pegar o RPM de origem da Red Hat, ajustar o arquivo de especificação e quaisquer correções para construir a nova versão da glibc e usar os novos RPMs binários da nova versão . Você, então, é responsável por mantê-lo por conta própria, pode perder o suporte do fornecedor, etc., portanto, isso é algo que você deve pensar se os requisitos de negócios exigirem isso. (E como você perde seu apoio de qualquer maneira, você pode também mudar para o CentOS ...)

    
por 24.01.2013 / 23:25