Como remover corretamente um .deb mal instalado?

6

Sempre que tento usar dpkg ou apt-get , recebo o aviso:

dpkg: warning: parsing file '/var/lib/dpkg/available' near line 12674 package 'jarnal':
 error in Version string 'build901': version number does not start with digit

Olhando para o arquivo /var/lib/dpkg/available , eu encontro a entrada

Package: jarnal
Priority: optional
Section: non-free
Maintainer: David K. Levine <[email protected]>
Architecture: all
Version: build901
Depends: sun-java5-jre | sun-java6-jre
Recommends: sun-jai, sun-jai-imageio
Size: 11217466
Description: a Java Notetaker and PDF Annotator... <snip>

que corresponde ao arquivo /DEBIAN/control em jarnal-build918_all.deb . Eu instalei este pacote há cerca de um ano (antes de atualizar para o 11.04), mas não consigo removê-lo usando o apt ou dpkg ou vários frontends.

locate encontra arquivos instalados em /usr/lib/jarnal/ , mas parece incompleto - acho que pode ser uma desinstalação com falha - já que lembro de ter tocado com ele uma vez, por isso deve ter sido instalado corretamente em algum momento.

De qualquer forma, como posso remover os arquivos e os dados armazenados pelo apt / dpkg do meu sistema?

    
por Simon 18.07.2011 / 08:47

3 respostas

2

Você pode fazer o backup do arquivo available e depois esvaziá-lo (deixe-o lá, mas vazio).

apt-get não precisa do arquivo, dpkg às vezes o usa como referência, mas não é essencial e ele será preenchido novamente depois de algum tempo.

Outra opção seria excluir a entrada problemática jarnal do arquivo available manualmente.

    
por arrange 18.07.2011 / 10:39
3

Edite /var/lib/dpkg/available e /var/lib/dpkg/status para alterar a linha Version: do pacote jarnal para algo que goste do dpkg, como 0build901 .

Se não houver entrada no arquivo status , então, por definição, você não tem o pacote instalado. É possível que a desinstalação falhe e você não tenha concluído a limpeza corretamente; verifique se há arquivos /var/lib/dpkg/info/jarnal.* . Se o pacote estiver instalado, deverá haver um arquivo jarnal.list na lista de arquivos fornecidos com o pacote. Se você está removendo um pacote mal formado manualmente, não precisa se preocupar com os outros arquivos em /var/lib/dpkg/info .

    
por Gilles 18.07.2011 / 11:17
3

Se estes forem para pacotes não instalados, simplesmente execute sudo dpkg --clear-avail (seguindo isto )

    
por David Fraser 03.07.2012 / 06:08