Recuperando base de dados do RPM

Publicado por Davidson Rodrigues Paulo em 11/01/2007

[ Hits: 6.864 ]

Blog: http://davidsonpaulo.com/

 


Recuperando base de dados do RPM



Por algum motivo aleatório, a base de dados do RPM (gerenciador de pacotes para sistemas derivados do Red Hat, como Fedora, SUSE, Mandriva e outros) pode ser danificada, impedindo que o comando rpm funcione. O sintoma característico é: você executa o comando rpm com qualquer parâmetro (exemplo: rpm -qa) e nada é executado, deixando o terminal travado.

Para recuperar a base de dados, fazendo o rpm voltar a funcionar, siga os procedimentos abaixo.

Primeiramente, torne-se root:

$ su -
password:

Em seguida, acesse o diretório /var/lib e renomeie o diretório rpm para rpm.bkp:

# cd /var/lib
# mv rpm{,.bkp}


Agora, recrie o diretório rpm e altere suas propriedades para o usuário rpm e o grupo rpm:

# mkdir rpm
# chown rpm:rpm rpm


Crie uma nova base de dados do RPM, vazia, acesse o diretório rpm.bkp e copie todos os arquivos, exceto os que começam com __ (2 underscores), para o diretório rpm recém-criado:

# rpm --initdb
# cd rpm.bkp
# cp -a [^__]* ../rpm


Por fim, recrie a base de dados do RPM com base nos arquivos copiados no último procedimento:

# rpm --rebuilddb

Pronto, a sua base de dados estará recuperada. Para testar, execute o comando

# rpm -qa

e veja se todos os pacotes listados no sistema são exibidos. Se estiver tudo certo, apague o diretório rpm.old:

# rm -rf /var/lib/rpm.bkp

Um grande abraço,

Davidson Paulo

Outras dicas deste autor

Traduzido o guia PHP-Nuke for Idiots

Desfazendo atualização do sistema no Zenwalk Linux

Baixando todos os arquivos de uma URL com o wget

Encontro virtual do projeto BrOffice.org

Usando variáveis para alterar arquivos com sed, *grep e outros

Leitura recomendada

Drivel - blogue diretamente, sem precisar do HTML

Erro ao Desinstalar Pacote Snap [Resolvido]

Instalando BackupPC no CentOS

Acentuando no OpenOffice

VMware - Porta paralela

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário