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.

David
fonte
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
    
Pantera
fonte
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.

EmileBeaulieu
fonte
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.

não amante sináptico
fonte
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