Não é possível instalar / remover / atualizar qualquer pacote

11

Então, eu tenho tentado atualizar o Ubuntu 11.10 de 64 bits alguns dias atrás e recebi um erro:

  

dpkg: ../../src/archives.c:978: tarobject: Asserção 'r == stab.st_size' falhou.

Então eu segui esta postagem nos Fóruns do Ubuntu e este .

Removido ubuntu-docs da pasta de informações e do arquivo de status.

Agora, sempre que tento instalar / remover / atualizar qualquer pacote, recebo um erro:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 968, in simulate
    trans.unauthenticated = self._simulate_helper(trans)
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 1092, in _simulate_helper
    return depends, self._cache.required_download, \
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 235, in required_download
    pm.get_archives(fetcher, self._list, self._records)
SystemError: E:I wasn't able to locate a file for the ubuntu-docs package. This might mean you need to manually fix this package.

Quando tento instalar o ubuntu-docs na linha de comando, recebo esta saída:

 BlockquoteReading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  ubuntu-docs
1 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.
1 not fully installed or removed.
Need to get 1,408 kB of archives.
After this operation, 22.5 MB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ oneiric/main ubuntu-docs all 11.10.4 [1,408 kB]
Fetched 1,408 kB in 5s (265 kB/s)        
(Reading database ... 
dpkg: warning: files list file for package 'ubuntu-docs' missing, assuming package has no files currently installed.
(Reading database ... 323646 files and directories currently installed.)
Preparing to replace ubuntu-docs 11.10.4 (using .../ubuntu-docs_11.10.4_all.deb) ...
Unpacking replacement ubuntu-docs ...
dpkg: ../../src/archives.c:978: tarobject: Assertion 'r == stab.st_size' failed.
E: Sub-process /usr/bin/dpkg exited unexpectedly

... que parece o mesmo de quando eu comecei com problema, então eu olhei na informação - não há nenhum pacote ubuntu-docs mas há entrada no status, então eu deletei e tentei novamente, mas assim que Eu faço sudo dpkg --configure -a a entrada para ubuntu-docs reaparece.

Alguma opinião?

Editar (não como comentário para salvar a formatação) :

Este tópico diz que preciso executar sudo apt-get update depois de remover as linhas correspondentes do status. Então eu corri sudo apt-get clean seguido por sudo apt-get update . Mas eu recebi uma mensagem dizendo:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Depois de executar sudo dpkg --configure -a , o arquivo de status contém as seguintes linhas:

Package: ubuntu-docs
Status: install reinstreq half-installed
Priority: optional
Section: doc
Version: 11.10.4

Não tenho certeza se isso ajuda.

    
por wisemonkey 17.10.2011 / 20:04

3 respostas

6

Aqui está o que funcionou para mim:

sudo dpkg --force-all -r ubuntu-docs

Eu vou informar se algo der errado sobre isso novamente. A solução da BTW foi publicada em Como fazer o dpkg funcionar novamente?

Oh sim, sim conselho: Agora eu preciso usar o Synaptic para atualizar o sistema toda vez - porque o ubuntu-docs está em todas as atualizações e eu preciso desmarcá-lo: - /. Acho que vou começar outra pergunta para perguntar como remover um pacote específico de cada atualização subseqüente.

    
por wisemonkey 19.10.2011 / 02:48
7

Às vezes, um pacote de instalação corrompido pode corromper o sistema de gerenciamento de pacotes, deixando o Linux incapaz de instalar ou remover qualquer pacote (Software). Aqui está o erro de mensagem que recebi do apt-get depois de tentar instalar o ndas-admin para o Ubuntu.

$ sudo apt-get install mplayer (ou qualquer pacote) Lendo listas de pacotes ... Concluído Construindo árvore de dependências
Lendo informações do estado ... Concluído E: O pacote ndas-admin precisa ser reinstalado, mas não consigo encontrar um arquivo para ele. (este é o erro)

Eu tentei sudo apt-get install -f para tentar corrigir o problema, mas recebi o mesmo erro. A única opção que tive foi editar o arquivo de status do dpkg manualmente.

$ sudo gedit /var/lib/dpkg/status    (if you prefer you can use vi instead of gedit)
Locate the corrupt package, and remove the whole block of information about it and save the file. Mine looked like this:

Package: ndas-admin
Status: deinstall reinstreq half-configured
Priority: extra
Section: alien
Installed-Size: 100
Maintainer: root <root@ubuntu510>
Architecture: i386
Version: 1.0.2-24
Depends: libc6 (>= 2.3.4-1)
Description: Administration toosl for XIMETA,Inc NDAS device driver for Linux operating system
 ndas-admin – This program allows the user to register/enable/disable/unregister the XIMETA NDAS hard disk.
 .
 (Converted from a rpm package by alien version 8.53.)

Corrigido. Espero que isso ajude alguém.

    
por Fazlur Rahaman Naik 30.05.2012 / 16:38
1

É possível que seus comandos estejam apenas tentando reutilizar um pacote corrompido armazenado em cache na sua máquina. Tente executar o seguinte comando para limpar o cache do apt:

sudo apt-get clean

(aviso, que removerá todos os pacotes armazenados em cache, então, se você estiver na metade de uma instalação, precisará fazer um novo download de várias coisas).

Você deve ser capaz de passar pelo processo de atualização normalmente.

    
por ImaginaryRobots 17.10.2011 / 20:13