dpkg non si aggiornerà - errore di input / output nella sessione di indicatori

3

Ho avuto un errore nel tentativo di aggiornare il mio sistema. Attualmente non posso installare / rimuovere o aggiornare nulla con apt-get ...

Ecco l'errore che ottengo durante l'esecuzione di 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)
    
posta drumusician 13.05.2013 - 11:09

2 risposte

4

Ok, ho guardato ancora un po 'e ho trovato una soluzione: è in questo post: Impossibile installare eventuali aggiornamenti tramite update manager / apt -get l'upgrade

C'è un link nella risposta a questa pagina: link

Si tratta di modificare il file / var / lib / dpkg / status e rimuovere tutto ciò che riguarda il pacchetto danneggiato.

Il mio sistema è di nuovo attivo e funzionante!

    
risposta data drumusician 13.05.2013 - 23:34
2

Ecco l'output che ho ricevuto da 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.

Ed è così che l'ho risolto:

  1. Esegui il backup del file di stato di dpkg:

    cp /var/lib/dpkg/status{,.backup}
    
  2. Modifica il /var/lib/dpkg/status file¹ e rimuovi le sezioni per i pacchetti su cui apt-get ha stampato avvisi su. Assicurati di rimuovere l'intera sezione su questi pacchetti, i. e. iniziando dalla riga Package: libecryptfs0 fino alla prima riga vuota.

    In alternativa puoi usare sed per fare il lavoro per te:

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

    Questo comando cancella tutte le sezioni comprese tra le righe con Package: <PACKAGE_NAME> e la successiva riga vuota. Puoi posizionare qualsiasi nome di pacchetto valido tra parentesi \(…\) , delimitarli con \| e sfuggire ai punti ( .\. ). L'opzione -i.backup modifica il file in posizione e crea un file di backup con suffisso .backup (quindi puoi saltare il passaggio 1 se usi la variante) invece di scrivere il risultato su stdout.

  3. Esegui sudo apt-get -f install per configurare pacchetti non configurati e (ri) installare il pacchetto mancante. I pacchetti sono mancanti perché li abbiamo rimossi dal file status .

¹ Vedi Come ottengo le autorizzazioni per modificare i file di configurazione del sistema? per sapere come fare.

    
risposta data Benedikt Köppel 02.01.2015 - 17:56

Leggi altre domande sui tag