dpkg não atualiza - erro de entrada / saída na sessão do indicador

3

Eu tenho tido um erro ao tentar atualizar meu sistema. Atualmente não consigo instalar / remover ou atualizar nada com o apt-get ...

Aqui está o erro que recebo ao executar o apt-get update

dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'indicator-session': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
    
por drumusician 13.05.2013 / 11:09

2 respostas

4

Ok, olhei em volta um pouco mais e encontrei uma solução: está neste post: Incapaz de instalar qualquer atualização através do gerenciador de atualização / apt -get upgrade

Existe um link na resposta a esta página: link

Tudo se resume em editar o arquivo / var / lib / dpkg / status e remover tudo relacionado ao pacote corrompido.

Meu sistema está funcionando novamente!

    
por drumusician 13.05.2013 / 23:34
2

Aqui está a saída que recebi de apt-get :

dpkg: warning: files list file for package 'libecryptfs0' missing, assuming package has no files currently installed.
dpkg: warning: files list file for package 'libplexus-containers1.5-java' missing, assuming package has no files currently installed.
dpkg: warning: files list file for package 'apport' missing, assuming package has no files currently installed.

E foi assim que consertei:

  1. Faça o backup do arquivo de status do dpkg:

    cp /var/lib/dpkg/status{,.backup}
    
  2. Edite o /var/lib/dpkg/status file¹ e remova as seções dos pacotes em que apt-get imprimiu avisos. Certifique-se de remover toda a seção sobre esses pacotes, i. e. começando com a linha Package: libecryptfs0 até a primeira linha em branco.

    Como alternativa, você pode usar sed para fazer o trabalho para você:

    sed -i.backup -e '/^Package: \(libecryptfs0\|libplexus-containers1\.5-java\|apport\)$/,/^$/d' /var/lib/dpkg/status
    

    Este comando exclui todas as seções entre e incluindo as linhas com Package: <PACKAGE_NAME> e a próxima linha vazia. Você pode colocar qualquer nome de pacote válido entre os parênteses \(…\) , delimitá-los com \| e escapar dos pontos ( .\. ). A opção -i.backup edita o arquivo no lugar e cria um arquivo de backup com sufixos com .backup (para que você possa pular a etapa 1 se usar a variante) em vez de gravar o resultado para stdout.

  3. Execute sudo apt-get -f install para configurar pacotes não configurados e (re) instalar o pacote ausente. Os pacotes estão ausentes porque os removemos do arquivo status .

¹ Veja Como obtenho permissões para editar os arquivos de configuração do sistema? sobre como fazer isso.

    
por Benedikt Köppel 02.01.2015 / 17:56