CentOS yum - problemas de rpmdb pré-existentes

3

Estou tentando instalar o git em uma caixa de desenvolvedor e recebo o seguinte:

You could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
kernel-2.6.32-431.17.1.el6.x86_64 has installed conflicts bfa-firmware < ('0', '3.2.21.1',     '2'): bfa-firmware-3.0.3.1-1.el6.noarch
kernel-firmware-2.6.32-431.17.1.el6.noarch is a duplicate with kernel-firmware-2.6.32-358.23.2.el6.noarch
kernel-headers-2.6.32-431.17.1.el6.x86_64 is a duplicate with kernel-headers-2.6.32-358.23.2.el6.x86_64

Como posso resolver isso? Eu não estou muito familiarizado com o CentOS / RHEL

Obrigado

    
por Dave Melia 10.10.2014 / 11:27

2 respostas

3

No meu caso, descobri que algo estava errado e muitos pacotes foram atualizados sem que as versões mais antigas fossem removidas. As tentativas de reconstruir o banco de dados do RPM não resolveram o problema.

Uma solução que está funcionando é simplesmente remover a versão mais antiga e reinstalar a versão mais recente.

Olhando para a saída de erro, cada linha basicamente diz que Update Package é uma duplicata com Pacote anterior , isto é:

    kernel-headers-2.6.32-431.17.1.el6.x86_64 is a duplicate with kernel-headers-2.6.32-358.23.2.el6.x86_64

O seguinte parece funcionar para mim:

    rpm --erase --nodeps --noscript kernel-headers-2.6.32-358.23.2.el6.x86_64

O comando diz ao RPM para remover o Pacote anterior específico sem remover quaisquer dependências ou executar quaisquer scripts associados à tarefa.

Em seguida, o pacote precisa ser reinstalado:

    yum reinstall kernel-headers

Desta vez não há necessidade de especificar a versão exata do pacote, pois o yum irá procurar a versão mais recente e reinstalá-la.

O Yum mostrará o resultado da sua operação Yum Check durante cada execução. Continue fazendo isso até que não haja mais pacotes duplicados listados.

Observe que você pode consultar o banco de dados RPM diretamente. Se você vir muitas mensagens que incluem a string glibc, por exemplo, você pode obter uma lista simples de pacotes que possuem essa string em seus nomes assim:

    rpm -qa | grep glibc | sort

Que pode produzir algo como:

    glibc-2.17-157.el7_3.5.x86_64
    glibc-common-2.17-157.el7_3.4.x86_64
    glibc-common-2.17-157.el7_3.5.x86_64
    glibc-devel-2.17-157.el7_3.5.x86_64
    glibc-headers-2.17-157.el7_3.5.x86_64

Agora é mais óbvio que a versão anterior do glibc-common deve ser removida:

    rpm --erase --nodeps --noscript glibc-common-2.17-157.el7_3.4.x86_64
    yum reinstall glibc-common
    
por 29.07.2017 / 04:02
0

Tente executar o seguinte comando

yum clean all
rpm --rebuilddb
yum update
yum clean all
yum reinstall glibc glibc-common libgcc
yum upgrade
yum install yum-utils
package-cleanup --problems
package-cleanup --dupes
    
por 23.10.2014 / 15:25