Updates können nicht über Update Manager / apt-get Upgrade installiert werden

12

Ich habe Ubuntu 12.04 in den letzten Wochen ausgeführt. Ich habe kürzlich versucht, einige Dateien über den Update Manager herunterzuladen und zu installieren. Es wurden einige Dateien gefunden, heruntergeladen, aber dann nicht installiert. Es gab den Fehler:

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

Ich habe versucht, zu verwenden, apt-get upgradeaber ein ähnlicher Fehler wurde erzeugt:

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)

Jede Hilfe wäre sehr dankbar. Danke im Voraus.

Bearbeiten: Hier sind einige zusätzliche Informationen, die nützlich sein können. Mein ursprüngliches Problem war, dass das Ubuntu Software Center nicht geöffnet werden konnte. Ich habe festgestellt, dass der Update Manager und der Synaptic Package Manager ebenfalls nicht geöffnet werden konnten. Sie alle gaben einen Fehler in der Art von:

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

Nach langem googeln schien ich dieses Problem zu beheben, da die Paketmanager wieder öffnen würden. Als ich dann versuchte, Updates vom Update Manager herunterzuladen und zu installieren, wurde am Anfang dieses Beitrags der Fehler angezeigt.

user64654
quelle
Welche Dateien haben Sie heruntergeladen? Wovon? Was hat der Update Manager damit zu tun?
Mike, was auch immer
Sie können versuchen, das Paket in der Nachricht zu deinstallieren (und später neu zu installieren). Wenn dies fehlschlägt, versuchen Sie möglicherweise, den Cache zu leeren.
John S Gruber
Ich arbeite immer noch daran, das zu beheben, ich hatte nur noch keine Chance. Ich werde die hier gegebenen Anweisungen ausprobieren: goo.gl/oOKqG, wenn ich die Chance dazu habe.
user64654
Warum haben Sie sich für die Installation von 12.04 und nicht von 14.04 entschieden? Immerhin hast du gesagt, du hast es vor ein paar Wochen bekommen, und Trusty ist seit neun Monaten unterwegs.
John Scott

Antworten:

16

Ich habe das Problem mit diesen Anweisungen behoben .

Die Lösung lautet also wie folgt:

  1. Gehen Sie in das /var/lib/dpkgVerzeichnis
  2. Erstellen Sie eine Sicherungskopie der statusDatei
  3. Bearbeiten Sie die statusDatei
  4. Suchen Sie das Paket, das den Fehler verursacht hat
  5. Löschen Sie einfach die Zeilen aus diesem Paket (lassen Sie jedoch alle anderen Zeilen, die andere Pakete betreffen, auch dann, wenn sie das fehlerhafte Paket in den Feldern "Ersetzt" oder "Abhängig" enthalten).

    […]

  6. Speichern Sie die Änderungen in der statusDatei

  7. Lauf: sudo dpkg --configure -a
  8. Erzwingen Sie die Neuinstallation fehlender Abhängigkeiten (da es jetzt einige gibt):

    sudo apt-get -f install
    

    Ich denke, wenn das kaputte Paket nicht von einem anderen Paket abhängt (könnte selten sein), installieren Sie es einfach neu:

    sudo apt-get install the_package
    
  9. Jetzt ist alles in Ordnung. Sie können neue Pakete aktualisieren, aktualisieren oder installieren!

Es sei darauf hingewiesen, dass ich einige Unterschiede zu der dort angegebenen Lösung hatte. Die Statusdatei war nicht einfach zu bearbeiten (da es sich um eine wichtige Datei handelt, die niemals bearbeitet werden sollte). Alle dort vorgenommenen Änderungen sollten mit Sorgfalt durchgeführt und die Datei gesichert werden, bevor Sie Änderungen vornehmen.

Ich musste die Schritte 4 bis 8 dreimal wiederholen (jedes Mal war der Fehler der gleiche, nur mit einem anderen Paket). Als schließlich alle Pakete entfernt wurden, konnte ich sie neu installieren und mein Problem wurde behoben.

user64654
quelle
Wie haben Sie herausgefunden, welche Pakete den Fehler verursacht haben?
Seanny123
@ Seanny123 Der vorherige Versuch, apt-get install zu installieren, würde vermutlich den Fehler anzeigen. In meinem Fall habe ich beispielsweise "Leselistenliste für Paket 'manpages-dev': Eingabe- / Ausgabefehler", kurz bevor die Eingabeaufforderung zurückgegeben wurde. In der Statusdatei habe ich nach "Package: manpages-dev" gesucht und die Zeilen bis zur nächsten Zeile "Package:" gelöscht. Danach musste ich ein manuelles "apt-get install manpages-dev" durchführen und dann mein zuvor fehlgeschlagenes "apt-get dist-upgrade" fehlerfrei abschließen. (Danke user64654!)
Peter Hansen
2

Es kann vorkommen, dass die Festplatte mit Inodes beschädigt ist.

Führen Sie diesen Befehl mit einer Live-CD aus

sudo fdisk -l

Beachten Sie die Festplatte und Partition, es könnte /dev/dsb1 dann repariert werden:

sudo fsck -y /dev/sdb1

Starten Sie das System neu und kehren Sie zum System zurück

sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade
Guillaume
quelle
Ich habe das fsck via gemacht sudo shutdown -rF nowund ohne weiteres war alles wieder in Ordnung.
Klaws