Erro ao atualizar o Ubuntu - O sistema de pacotes está quebrado

1

Isto é para o Ubuntu 16.04 LTS Eu recebi um aviso:

Updated software is available for this computer. Do you want to install it now?

Quando vou em frente com a atualização, aparece um erro:

The package system is broken -
Check if you are using third party repositories. If so disable them, since they are a common source of problems.
Furthermore run the following command in a Terminal: apt-get install -f

Como posso descobrir quais repositórios de terceiros estou usando?

Com base nas entradas fornecidas abaixo, tentei abaixo dos comandos. Também mencionou a saída -

sudo apt -f install

dpkg: error: reading package info file '/var/lib/dpkg/status': Input/output error E: Sub-process /usr/bin/dpkg returned an error code (2)

sudo dpkg --configure -a

dpkg: error: reading package info file '/var/lib/dpkg/status': Input/output error

sudo apt update

Reading package lists... Error! E: Read error - read (5: Input/output error) W: You may want to run apt-get update to correct these problems E: The package cache file is corrupted

    
por ADhopate 13.08.2017 / 16:34

3 respostas

1

Finalmente, depois de muita solução de problemas, encontrei o problema e a solução para resolvê-lo. Escrevendo todas as descobertas aqui para que ele possa ajudar outras pessoas e talvez não precise fazer a solução de problemas demorada que precisei fazer.

Causa raiz:

O problema, se não estiver errado, foi com o espaço em disco. Durante uma das atualizações recentes, meu espaço em disco ficou cheio e 0% ficou disponível para atualizações. Devido a isso, o / var / lib / dpkg / status está corrompido. E depois disso, apenas se recusa a atualizar, instalar ou remover qualquer aplicativo e deu o erro mencionado acima.

Etapas para resolver o problema:

  1. Primeiro, corrija o motivo da bagunça. Limpou alguns arquivos antigos e indesejados para liberar espaço em disco. Agora eu tenho quase 5% de espaço em disco disponível, que deve ser suficiente para o comportamento normal e concluir a atualização original que falhou por causa do espaço insuficiente em disco.
  2. Agora, repare o dano causado. Corrigir o arquivo / var / lib / dpkg / status . Aqui, como de costume, especialistas e sua contribuição neste fórum me ajudaram a obter o arquivo de status válido conhecido anteriormente de / var / backups . Toda vez que você faz uma instalação ou uma atualização, o arquivo de status é salvo em um backup gzipado em / var / backups . Consulte aqui para obter detalhes completos sobre isso. Abaixo estão os comandos que eu usei -

~$ sudo mv /var/lib/dpkg/status /var/lib/dpkg/status_bkup

~$ sudo cp /var/backups/dpkg.status.2.gz /var/lib/dpkg/

~$ sudo gunzip -d /var/lib/dpkg/dpkg.status.2.gz

~$ mv /var/lib/dpkg/dpkg.status.2 /var/lib/dpkg/status

~$ sudo apt-get update

voila !! completou a atualização sem erros enfrentados anteriormente.

  1. Agora, conclua a atualização e verifique se o problema foi resolvido; tente atualizar ou instalar um novo aplicativo-

~$ sudo apt-get -f install

Fetched 14.3 MB in 15s (935 kB/s)
Extracting templates from packages: 100% Preconfiguring packages ... dpkg: error: parsing file '/var/lib/dpkg/status' near line 18299 package >'libgdk-pixbuf2.0-common': end of file during value of field 'Original-Maintainer' (missing final >newline) E: Sub-process /usr/bin/dpkg returned an error code (2)

  1. De alguma forma, o arquivo de status foi modificado novamente e um novo erro foi introduzido. Desde agora eu sei o que é o arquivo de status e como solucionar o problema é, eu entendi que isso é por causa de um erro de sintaxe no arquivo de status. Foi fácil identificar que ">" está faltando um dos pacotes no final. Corrigido o arquivo de status para incluir '>' no final.

  2. Tente novamente e foi bem-sucedido desta vez!

Felicidades,

Anirudha

    
por ADhopate 17.08.2017 / 12:39
1

se você tiver um gerenciador de pacotes synaptic

aquivocêpodedesativar/ativarrepositórios

    
por techvish81 13.08.2017 / 17:37
0

Em uma linha de comando (por exemplo, terminal do Gnome, ou konsole do KDE) execute isto:

sudo rm -r /var/lib/apt/lists/* && sudo apt update

Isso removerá o cache do pacote e depois atualizará para obter as listas de pacotes dos repositórios externos. Adicione && sudo apt dist-upgrade se você também quiser fazer uma atualização completa.

Observe que && significa simplesmente que, se a primeira parte for concluída sem um erro, execute a próxima parte.

    
por pbhj 13.08.2017 / 23:50