Não é possível instalar nenhuma atualização através do gerenciador de atualização / upgrade do apt-get

10

Eu tenho rodado o Ubuntu 12.04 nas últimas semanas. Eu recentemente tentei baixar e instalar alguns arquivos através do Update Manager. Localizou alguns arquivos, baixou-os, mas não conseguiu instalá-los. Deu o erro:

installArchives() failed: (Reading database ... 
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error

Eu tentei usar apt-get upgrade , mas um erro semelhante foi produzido:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  icedtea-6-jre-cacao icedtea-6-jre-jamvm openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.6 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

Qualquer ajuda seria muito apreciada. Agradecemos antecipadamente.

Edit: Aqui estão algumas informações extras que podem ser úteis. Meu problema original era que o Ubuntu Software Center não abriria. Descobri que o Update Manager e o Synaptic Package Manager também não conseguiram abrir. Todos eles deram um erro ao longo das linhas de:

"installArchives() failed: dpkg: error: reading package info file '/var/lib/dpkg/available': Input/output errorError in function:"

Depois de muita pesquisa, pareci corrigir o problema, pois os gerenciadores de pacotes abriam novamente. Quando tentei baixar e instalar as atualizações do Gerenciador de Atualizações, recebi o erro no início desta postagem.

    
por user64654 19.05.2012 / 16:34

2 respostas

13

Corrigi o problema com estas instruções .

  

Portanto, a solução é a seguinte:

     
  1. Entre no diretório /var/lib/dpkg
  2.   
  3. Faça um backup do arquivo status
  4.   
  5. Edite o arquivo status
  6.   
  7. Pesquise o pacote que forneceu o erro
  8.   
  9. Basta excluir as linhas deste pacote (mas deixar que todas as outras linhas que dizem respeito a outros pacotes, mesmo que contenham o pacote quebrado em seus campos "Substitui" ou "Depende")

         

    […]

  10.   
  11. Salvar alterações no arquivo status

  12.   
  13. Executar: sudo dpkg --configure -a
  14.   
  15. Força a reinstalação de dependências ausentes (porque agora existem algumas):

    sudo apt-get -f install
    
         

    Acho que, se o pacote quebrado não depender de outro pacote (pode ser raro), basta reinstalá-lo:

    sudo apt-get install the_package
    
  16.   
  17. Tudo está bem agora, pode atualizar, atualizar ou instalar novos pacotes!

  18.   

Deve-se notar que eu tive algumas diferenças na solução dada lá. O arquivo de status não foi fácil de editar (já que é um arquivo importante e nunca foi editado). Qualquer edição feita lá deve ser feita com cuidado, e o backup do arquivo deve ser feito antes de qualquer alteração.

Eu tive que repetir os passos 4-8 três vezes (cada vez que o erro seria o mesmo, apenas com um pacote diferente). Finalmente, quando todos os pacotes foram removidos, fui capaz de reinstalá-los e resolvi meu problema.

    
por user64654 22.05.2012 / 12:42
1

Pode acontecer que o disco esteja corrompido com inodes.

Com um live CD, execute este comando

sudo fdisk -l

observe o disco e a partição, pode ser /dev/dsb1 então conserte:

sudo fsck -y /dev/sdb1

Reinicialize e retorne no sistema

sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade
    
por Guillaume 03.06.2016 / 21:10