Assim, se você atualizar apenas um dos pacotes instalados, você acabará com um YUM e RPM quebrados. Você pode ver mensagens de erro como estas ao tentar executar comandos YUM e RPM: erro: rpmts_HdrFromFdno: cabeçalho V3 RSA / assinatura SHA1, chave ID xxx BAD erro: rpmdbNextIterator: ignorando h # 1784 Cabeçalho V3 Assinatura RSA / SHA1, chave ID xxx BAD Na maioria das vezes você terá o nss-softokn-3.14.3-19 instalado, mas não o nss-softokn-freebl-3.14.3-19
Para corrigir isso, você precisa:
1. Baixar manualmente nss-softokn-freebl-3.14.3-19 yumdownloader nss-softokn-freebl ou wget os RPMs
Servidores de 64 bits / x86_64 executados
wget ftp://195.220.108.108/linux/centos/6.6/updates/x86_64/Packages/nss-softokn-freebl-3.14.3-19.el6_6.x86_64.rpm
Servidores de 32 bits / i686 executados
wget ftp://195.220.108.108/linux/centos/6.6/updates/i386/Packages/nss-softokn-freebl-3.14.3-19.el6_6.i686.rpm
2. Extraia o RPM
Servidores de 64 bits / x86_64 executados
rpm2cpio nss-softokn-freebl-3.14.3-19.el6_6.x86_64.rpm | cpio -idmv
Servidores de 32 bits / i686 executados
rpm2cpio nss-softokn-freebl-3.14.3-19.el6_6.i686.rpm | cpio -idmv
3. Copie .libfreeblpriv3. * Para corrigir a localização
Servidores de 64 bits / x86_64 executados
cp ./lib64/libfreeblpriv3.* /lib64
Servidores de 32 bits / i686 executados
cp ./lib/libfreeblpriv3.* /lib
4. Execute novamente a atualização do Yum para atualizar nss-softokn-freebl e FIX YUM e RPM
atualização yum Se você ainda tiver problemas, você pode ter que reinstalar o yum como abaixo para um servidor de 64 bits, os servidores de 32 bits só precisarão localizar as versões de 32 bits do rpms! Mas a maioria dos servidores não precisa disso:
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/yum-3.2.29-60.el6.centos.noarch.rpm
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-6.el6.centos.12.2.x86_64.rpm
rpm -ivh --nodeps yum-3.2.29-60.el6.centos.noarch.rpm
rpm -ivh yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
rpm -ivh centos-release-6-6.el6.centos.12.2.x86_64.rpm
Eu também tive algumas dúvidas sobre como restaurar o rpmdb que foi corrompido ao tentar corrigir o problema, existem duas maneiras:
Primeiro, copie uma boa cópia da pasta / var / lib / rpm de um bom servidor idêntico de um backup - você tem backups, certo?
Em bom servidor ou de backup:
tar -cf rpmbackup.tar /var/lib/rpm
Em seguida, envie o tar para o servidor incorreto
No servidor quebrado:
cd /var/lib
mv /var/lib/rpm /var/lib/rpm.bak
tar -xf /location/to/rpmbackup.tar
Então você deve ser bom para ir!
A segunda maneira é reinstalar cada rpm já instalado, verificando o log de instalação do rpm. Veja o comentário abaixo
Bug Report: link