.
Não é tão difícil corrigir problemas de erro com lista de mesclagem ou arquivos de status que não puderam ser analisados com a ajuda de algumas etapas básicas de solução de problemas.
Um amigo meu, enquanto explorava seu sistema, fez algumas alterações no diretório /var/lib/dpkg/status e agora está preso com a mensagem de erro.
Agora ele não pode atualizar seu sistema ou instalar nenhum aplicativo, mas uma coisa que sempre aparece em sua tela é
- E: Encontrou uma seção sem pacote: cabeçalho
- E: Problema com MergeList /var/lib/dpkg/status
- E: As listas de pacotes ou o arquivo de status não puderam ser analisados ou abertos.
E mais tarde, ele bagunçou ainda mais seu sistema e trouxe à tona o novo erro ao deletar o arquivo de status de seu sistema, que você pode ver abaixo.
- Lendo listas de pacotes… Erro!
- E: flAbsPath em /var/lib/dpkg/status falhou – realpath (2: Arquivo ou diretório inexistente)
- E: Não foi possível abrir o arquivo – abrir (2: Arquivo ou diretório não encontrado)
- E: Problema de abertura
- E: As listas de pacotes ou o arquivo de status não puderam ser analisados ou abertos.
Se você também é um deles que fez alterações abruptas no arquivo de status ou removido, ou se estiver corrompido por algum motivo desconhecido, fique comigo.
Mostrarei como corrigir esse erro removendo mais alguns arquivos e, em seguida, atualizaremos o repositório do sistema para reconstruir as listas de pacotes.
Como corrigir erro de Mergelist ou arquivos de status que não puderam ser analisados
Como você sabe, o rm O comando é destrutivo e pode destruir completamente o seu sistema se você não usá-lo com cuidado.
Portanto, estou repetindo as etapas que iremos seguir.
- Etapa 01: Remova todo o conteúdo do arquivo de /var/lib/apt/lists/*
- Etapa 02: Nós reconstruímos o cache do repositório
Se o problema ainda não foi resolvido e você está recebendo status failed – realpath (2: Esse arquivo ou diretório não existe), passaremos para o segundo método para restaurar o arquivo de status.
Então vamos resolver o erro agora.
Passo 01: Remova todo o conteúdo do arquivo de /var/lib/apt/lists/*
Abra o terminal do seu sistema e exclua todos os arquivos do /var/lib/apt/lists/ usando o comando abaixo:
$ sudo rm /var/lib/apt/lists/* -vf
Agora, se você está se perguntando por que eu disse para você remover o arquivo, é porque os arquivos no /var/lib/apt/listas usado pelo sistema para armazenar e manter as informações sobre o pacote disponível.
Assim, sempre que você tentar instalar algum aplicativo, ele primeiro verifica as informações em /var/lib/apt/listas. Se encontrar os detalhes, ele fica online e busca o aplicativo para você.
Agora, ao remover o conteúdo, você está basicamente limpando o cache das informações do pacote armazenadas no /var/lib/apt/listas diretório, o que pode desencadear o erro.
Etapa 02: reconstruir o cache do repositório
Depois de excluir o conteúdo do arquivo do diretório /var/lib/apt/lists, você precisa reconstruir o cache do repositório.
Para fazer isso, você precisa executar o seguinte comando na tela do terminal:
$ sudo apt update
Depois de executar o comando acima, seu problema será resolvido, mas se o problema ainda persistir com o erro “status failed – realpath (2: Esse arquivo ou diretório não existe), então você terá que fazer mais algumas alterações para corrigir isso .
Como corrigir E: flAbsPath em /var/lib/dpkg/status falhou – realpath (2: Esse arquivo ou diretório não existe)
Quando você lê o erro, basicamente diz que falta um status arquivo no /var/lib/dpkg diretório, o que causa o erro e, por isso, você não consegue atualizar e instalar aplicativos.
Portanto, para restaurar o arquivo de status, você pode procurar o status antigo arquivo em /var/lib/dpkg executando o comando abaixo:
$ locate /var/lib/dpkg "status"
Se o status antigo arquivo estiver presente, você poderá restaurar facilmente as alterações renomeando status antigo para statuse então você deve atualizar o repositório para atualizar as informações do pacote.
$ sudo mv /var/lib/dpkg/status-old /var/lib/dpkg/status
Por qualquer motivo, se o arquivo de status antigo não estiver disponível no local correspondente, você poderá restaurar o arquivo de status de /var/backups/dpkg.status.*.gz.
Para extrair um dos arquivos de status do diretório correspondente, execute o comando abaixo:
$ sudo gunzip /var/backups/dpkg.status.0.gz
Depois de extrair o arquivo com sucesso, coloque o arquivo de status em /var/lib/dpkg/ usando a próxima linha de comando e atualize o sistema.
$ sudo cp -v /var/backups/dpkg.status.0 /var/lib/dpkg/status
$ sudo rm -r /var/lib/apt/lists/*
$ sudo apt update
Se ainda não estiver funcionando, você pode criar uma máquina virtual da mesma distribuição e versão e copiar o arquivo de status da máquina virtual para o seu sistema host usando o comando scp comandoe tente atualizar o sistema.
Pelo que eu sei, após seguir os passos acima, o seu problema não existirá mais no seu sistema.
Como consertar a impossibilidade de analisar o arquivo do pacote no Debian
Se você estiver recebendo E: Unable to parse package file /var/lib/apt/extended_states (1) em sua máquina Debian, execute o seguinte comando em seu sistema:
$ sudo rm -rf /var/lib/apt/extended_states
$ sudo apt update
Embrulhar
Isso é tudo neste artigo para resolver o erro que os arquivos de status não puderam ser analisados em sua máquina Ubuntu e também em seu sistema baseado em Debian.
Se o seu problema ainda persistir, fique à vontade para comentar abaixo e tentarei ajudá-lo.
Aqui está um resumo dos comandos que usei neste guia para resolver o problema.
- Corrigir problema com MergeList /var/lib/dpkg/status
$ sudo rm /var/lib/apt/lists/* -vf$ sudo apt update
- Consertar status falhou – realpath (2: Arquivo ou diretório inexistente)
$ sudo mv /var/lib/dpkg/status-old /var/lib/dpkg/status$ sudo apt update
- Correção de impossibilidade de analisar o arquivo do pacote no Debian
$ sudo rm -rf /var/lib/apt/extended_states-
$ sudo apt update
Vejo você no próximo artigo…
Um homem com uma tecnologia efusiva que explorou algumas das coisas incríveis da tecnologia e está explorando mais. Enquanto avançava, tive a oportunidade de trabalhar no desenvolvimento Android, Linux, AWS e DevOps com diversas ferramentas de código aberto.
.








