O Apt / Synaptic precisa reinstalar o pacote, mas não consegue encontrar o arquivo para ele


36

Executando o Synaptic, recebo a seguinte mensagem de erro:

E: The package hl1440lpr needs to be reinstalled, but I can't find an archive for it.
E: Internal error opening cache (1). Please report.

Ao aceitar a mensagem, o Synaptic é encerrado.


3
Que conjunto de instruções / site você estava seguindo e que problema estava tendo?
— Panther

Respostas:


65

Bem, podemos precisar de algumas etapas para corrigir isso.

  1. Começar com:

    sudo dpkg --remove --force-all hl1440lpr
    
  2. Se isso falhar:

    sudo rm -i /var/lib/dpkg/info/hl1440lpr.*
    sudo dpkg --remove --force-remove-reinstreq hl1440lpr
    
  3. Confirme se o Apt está corrigido. O comando a seguir não deve retornar erros:

    sudo apt-get update
    

Eu me deparei com essa situação quando estava atualizando para o Ubuntu 12.10, mas acidentalmente suspendi o computador no meio do caminho. Ao acordar o computador, a atualização falhou (obviamente) e um ícone vermelho apareceu ao lado do medidor de bateria, que dizia: E:The package xterm needs to be reinstalled, but I can't find an archive for it.Depois de aplicar a sugestão aqui, sudo dpkg --remove --force-all xtermtudo estava consertado. Obrigado! ps, seria bom se você pudesse editar sodopara dizer sudo, eu não escolheria, mas isso atrapalharia alguém que não sabia nada sobre linux.
— dylan murphy

11
Obrigado bodhi.zazen. Sua solução funcionou para o meu irmão-motorista defeituoso; dcpj4110dwlpr.
— V2R

Perfeito! A primeira solução falhou e interrompeu o processo, mas a segunda funcionou. Obrigado! (experimentado no servidor debian)
— Shautieh

Apenas um complemento para @panther O sudo dpkg --remove --force-all hl1440lpr funcionou para outros pacotes, o meu era um libperl5.22 que parece travar durante uma atualização. O único problema era que era necessário ter permissão de root. Como eu estava no Google Cloud, o su não funcionou até eu criar uma senha.
— JustAGrump

6

Acontece que isso não seria reparado usando os comandos regulares, porque eu havia desativado o multiverserepositório na janela de software e atualizações, depois de instalar o pacote .

Eu li para fazer isso em um post em outro lugar, e não foi até outro post que li que me fez checar para ter certeza de que estava ATIVADO , então percebi que nunca deveria ter desabilitado isso em primeiro lugar.

A ativação do repositório multiverso novamente me permitiu reinstalar o pacote.


Portanto, geralmente, se esse tipo de erro ocorrer, verifique se você não desabilitou a fonte de software da qual este pacote vem.


3
dpkg --remove --force-remove-reinstreq   broken---stuff

(além de apagar arquivos)

Funciona como um encanto. O synaptic deve oferecer essa função em vez de morrer e deixar as pessoas com uma grande bagunça. synaptic não é fácil de usar.


2
você precisa ter cuidado com esse comando, dependendo do que estiver removendo, ele poderá causar uma cascata na remoção de toda a área de trabalho.
— 55517 Ravel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.