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