Como reconstruir o banco de dados RPM corrompido no CentOS
- 2695
- 16
- Enrique Gutkowski PhD
O RPM O banco de dados é composto de arquivos sob o /var/lib/rpm/ diretório em CENTOS e outras distribuições corporativas do Linux, como RHEL, OpenSuse, Oracle Linux e mais.
Se o RPM O banco de dados está corrompido, RPM Não funcionará corretamente, portanto, as atualizações não podem ser aplicadas ao seu sistema, você encontra erros enquanto atualiza os pacotes em seu sistema via Yum Package Manager. O pior cenário está sendo incapaz de executar nenhum RPM e yum comandos com sucesso.
Leia também: 20 exemplos práticos do comando rpm no Linux
Existem vários fatores que podem levar à corrupção do banco de dados do RPM, como transações anteriores incompletas, instalação de determinado software de terceiros, remoção de pacotes específicos e muitos outros.
Neste artigo, mostraremos como reconstruir um banco de dados RPM corrompido; Dessa forma, você pode se recuperar de uma corrupção de banco de dados RPM em CentOS. Isso requer privilégios de usuário root, caso contrário, use o comando sudo para obter esses privilégios.
Reconstrua o banco de dados RPM corrompido no CentOS
Primeiro, comece backup do seu banco de dados RPM atual antes de prosseguir (você pode precisar no futuro), usando os seguintes comandos.
# mkdir /backups / # tar -zcvf /backups /rpmdb -$ (data +"%d%m%y").alcatrão.gz/var/lib/rpmBackup RPM Database
Em seguida, verifique a integridade do arquivo de metadados do pacote mestre /var/lib/rpm/pacotes; Este é o arquivo que precisa de reconstrução, mas primeiro remova /var/lib/rpm/__ dB* arquivos para evitar bloqueios obsoletos usando os seguintes comandos.
# rm -f/var/lib/rpm/__ db* #/usr/lib/rpm/rpmdb_verify/var/lib/rpm/pacotesVerifique o banco de dados RPM
Caso a operação acima falhe, o que significa que você ainda encontra erros, deve despejar e carregar um novo banco de dados. Verifique também a integridade do arquivo de pacotes recém -carregados da seguinte maneira.
# CD/var/lib/rpm/ # mv pacotes.#/usr/lib/rpm/rpmdb_dump pacotes.traseiro | /usr/lib/rpm/rpmdb_load Pacotes #/usr/lib/rpm/rpmdb_verify pacotesBases de dados de RPM de despejo e carregamento
Agora, para verificar os cabeçalhos do banco de dados, consulte todos os pacotes instalados usando o -q
e -a
bandeiras e tente observar cuidadosamente qualquer erro enviado ao stderror.
# rpm -qa>/dev/null #Output é descartado para permitir a impressão de erros apenas
Por último, mas não menos importante, reconstrua o banco de dados RPM usando o seguinte comando, o -vv
a opção permite exibir muitas informações de depuração.
# rpm -vv --rebuilddbReconstrua o banco de dados RPM
Use a ferramenta DCRPM para detectar e corrigir o banco de dados RPM
Nós também descobrimos o dcrpm (Detectar e correto RPM) Ferramenta de linha de comando usada para identificar e corrigir problemas bem conhecidos para fazer com a corrupção do banco de dados RPM. É uma ferramenta simples e fácil de usar que você pode executar sem opção. Para um uso eficaz e confiável, você deve executá -lo regularmente via Cron.
Você pode instalá -lo da fonte; Baixe a árvore de origem e instale -a usando configurar.py (que deve pegar o psutil dependência de Pypi também), como mostrado.
# clone git https: // github.com/facebookincubator/dcrpm.Git # CD DCRPM # Python Setup.py install
Depois de instalar dcrpm, execute como mostrado.
# dcrpm
Por fim, tente executar seu comando fracassado ou yum novamente para ver se tudo está funcionando bem.
DCRPM Github Repository: https: // github.com/facebookincubator/dcrpm
Você pode encontrar mais informações da página de recuperação do banco de dados RPM.
Isso é tudo! Neste artigo, explicamos como reconstruir um banco de dados de RPM corrompido no CentOS. Para fazer perguntas ou compartilhar seus pensamentos sobre este guia, use o formulário de feedback abaixo.
- « Remmina - Uma ferramenta de compartilhamento de desktop remota rica em recurso para Linux
- 10 melhores alternativas do GitHub para hospedar projetos de código aberto »