posts recentes|

Troubleshooting > Yum > Database disk image is malformed. Recriando o banco.

Gerenciadores de pacotes como o YUM são muito sensíveis, pois armazenam dados em arquivos ao invés de um banco de dados relacional. Isso porque a simplicidade é a chave do negócio, haja visto que um banco de dados relacional aumentaria significativamente a quantidade de itens de falha, o que aumentariam as chances de ocorrer falhas.

Essa sensibilidade dos gerenciadores de pacote, por vezes, nos causam falhas de operação dos mesmos. Geralmente essas falhas ocorrem por inconsistências ou corrompimento do banco.

Alguns gerenciadores de pacotes possuem mecanismos para recriar e/ou atualizar esses bancos, mas não todos. É o caso do YUM que é incapaz de reverter seu estado corrompido.

A seguir, veremos como é fácil recriar o banco do YUM para tratar o erro “sqlite3.DatabaseError: database disk image is malformed“.

Cenário:

Ao rodar o yum install pacote e confirmar a instalação, o gerenciador tenta alimentar seu banco (um sqlite), mas não consegue e retorna o erro destacado a seguir:

O erro em questão é este: sqlite3.DatabaseError: database disk image is malformed

How-to:

A correção é muito simples. Basta recriar o diretório “/var/lib/yum” onde fica o .SQLite, que é o banco do YUM. Para isso, siga os passos abaixo:

1 – Entre no diretório “/var/lib”

2 – Renomeie o diretório “yum” para “yum_old”, por exemplo:

3 – Limpe o cache do YUM:

4 – Agora aqueça o cache do yum:

5 – Tente instalar um pacote usando o yum:

Observação: O mesmo vale para o DNF, sistema de gerenciamento de pacotes do Fedora. Apenas considere alterar “/var/lib/yum” por “/var/lib/dnf”.

Resumão:

O gerenciador de pacotes mesmo é o RPM. O YUM é um cara legal que atualiza as instruções dos repositórios locais e resolve dependências. Portanto, quando o YUM para de funcionar por algum motivo, saibamos que podemos continuar instalando e removendo coisas com rpm. Porém, não é fácil resolver todas dependências manualmente.

Contudo, em alguns casos de erro no YUM, basta considerar a recriação do seu banco.

Aqui no Blog Porta 80 há também um how-to de como recuperar o banco do RPM. Segue o link:

https://www.blogporta80.com.br/2013/01/29/artigos-rebuild-do-rpm-database/

103850cookie-checkTroubleshooting > Yum > Database disk image is malformed. Recriando o banco.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.