Frage Fehler beim Herunterladen der Paketliste aufgrund eines "Hash sum mismatch" -Fehlers


Wenn ich nach Updates suche, erhalte ich den Fehler "Repository-Informationen nicht herunterladen".

Das kommt unter Details auf:

W: Failed to fetch gzip:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_natty_main_source_Sources  Hash Sum mismatch, 
E: Some index files failed to download. They have been ignored, or old ones used instead.

337
2018-05-09 20:55


Ursprung




Antworten:


Entfernen Sie einfach den gesamten Inhalt von /var/lib/apt/lists Verzeichnis:

sudo rm -rf /var/lib/apt/lists/*

dann renne:

sudo apt-get update

406
2018-05-09 21:52



Wenn Sie alle Dateien entfernen, müssen Sie sie erneut herunterladen. Sie können die ungültige Datei einfach entfernen, um diesen Vorgang zu beschleunigen. - Behrang
Ich erinnere mich, dass dies auch mit Debian passiert ist. Die Lösung bestand darin, Repositories zu wechseln (z. B. von us.ubuntu.com zu XX.ubuntu.com, wobei XX die Landesvorwahl ist) oder zu warten. Die beste Idee wäre, ein wenig zu warten und später zu versuchen. Das Entfernen der Listen kann fehlerhafte Listen beheben, aber das ist selten der Fall. - f.ardelian
Alte Frage, aber auf einigen Distributionen (wie Emdebian), nachdem Sie dies getan haben, müssen Sie "mkdir /var/lib/apt/lists/partial"(Als Wurzel, offensichtlich.), Oder sonst können Sie nicht"apt-get update"oder anderweitig apt. - Archenoth
@ AlyssaGono Wenn es ein Ordner ist, müssen Sie rm mit dem rekursiven Flag wie folgt ausführen: sudo rm -R /var/lib/apt/lists/* Aber selbst das zu tun, funktionierte nicht für mich. - mchid
Wir brauchen ein Präfix -rfso wird es aussehen sudo rm -rf /var/lib/apt/lists/* - Askar


Dies ist ein bekanntes Problem und wird für Clients hinter Proxy-Caches noch verstärkt. Einige große Organisationen und ISPs (insbesondere in entlegenen Teilen der Welt) haben transparente Caches, von denen Sie vielleicht nichts wissen.

Das grundlegende Problem besteht darin, dass das Apt-Repository-Format bei der Aktualisierung eines Spiegels den Rennbedingungen unterliegt. Dieses Problem betrifft insbesondere Repositorys, die sich schnell ändern, z. B. die Entwicklungsversion.

Sie können den Fortschritt für den Fix in diesem Fall verfolgen dieser Fehler (Bitte markieren Sie sich selbst als "betrifft mich auch" im Bug) und dieser Bauplan. Aber sei dir bewusst, dass es sich um ein komplexes Problem handelt und dass mehr als eine Version zur Lösung benötigt wird.


121
2017-07-05 22:21



Dieser Bauplan ist nicht mehr zugänglich; hier ist eine archivierte Kopie. - Eliah Kagan
Dieser Fehler existiert auch auf Ubuntu 16.04 - Scott Stensland
Der Fehler wurde als "Fix Released" markiert.
Ich ändere einfach meinen Spiegelstandard zum besten Server und seine Arbeit für mich. - habibun


Der einfachste Weg, dies zu beheben, ist:

sudo apt-get clean
sudo apt-get update

79
2018-05-22 12:25



Nachdem ich die angenommene Antwort ausprobiert hatte, hatte ich immer noch die gleichen Fehler, und das Problem wurde sofort behoben - Alex
Tun sudo rm -rf /var/lib/apt/lists/* dann sudo apto-get clean behebt das Problem für mich auch. Beide arbeiteten nicht isoliert. - Cam
Dies sollte die richtige Antwort sein. - Clayton Dukes
hilft nicht auf Ubuntu 16.04 ... noch hilft der Kommentar oben - Scott Stensland
sudo apt-get clean hat mit 16.04 nicht geholfen, aber sudo rm -rf /var/lib/apt/lists/* behoben - sdaffa23fdsf


Ich hatte immer noch das Problem nach dem Entfernen der Verzeichnisse und tun sudo apt-get update.
Nur der folgende Schritt hat mein Problem gelöst:

sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list

Ich weiß nicht, ob das der richtige Weg ist, es zu reparieren ...
Ich habe die Lösung gefunden Hier.


42
2017-08-27 19:55



Das sollte man beachten de-part gibt einen Server für Deutschland an und dieses Skript ersetzt den lokalen Server durch den Hauptserver. Gehen zu Softwarequellen Der GUI-Weg und die Einstellung dorthin wären für viele Benutzer sicherer und reversibel. Folgendes sollte für fast jedes Land funktionieren: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


Die einzige Lösung, die für mich funktionierte, ist von unix.stackexchange.

Es passiert, weil ein bekannter Bug vorhanden ist, und die Lösung besteht darin, mit einer anderen Komprimierungsmethode zu aktualisieren, damit die Dateien korrekt geladen werden und die Prüfsumme erfolgreich ist.

Probieren Sie es aus:

sudo rm -rf /var/lib/apt/lists/partial
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz

(Danke @brook_hong aus den Kommentaren für den rm Teil)


28
2018-05-31 14:13



Dies ist die einzige Lösung hier, die für mich funktioniert hat. Vielen Dank. - Cerin
Es hat auch für mich funktioniert. Beachten Sie, dass Sie diesen Befehl nicht immer ausführen müssen. Führen Sie es einfach einmal aus, und dann können Sie "apt-get update" ohne Fehler ausführen. - dalf
Bevor Sie mit der Option versuchen, müssen wir den Teilordner reinigen - sudo rm -rf /var/lib/apt/lists/partial. Ich habe einen Artikel geschrieben, warum. brookhong.github.io/2016/10/10/ ... - brook hong
Ich habe versucht, die generische Lösung aus verschiedenen Foren zu verwenden, aber das funktioniert sofort. Vielen Dank. - wkhwilo
Arbeitete für mich auf Ubuntu 16.04 / Linux Mint - David Okwii


Dies kann passieren, wenn Ihr Mirror nicht auf dem neuesten Stand ist oder Serving-Fehler nicht überlastet sind. Sie können entweder eine Weile warten und es erneut versuchen oder zu einem anderen Spiegel wechseln:


22
2018-04-28 02:04



Warum verursacht ein Server, der nicht auf dem neuesten Stand ist oder überlastet ist, eine Datei mit dem richtigen Namen? erfolgreich Download (in dem Sinne, dass die Verbindung nicht beendet wird, bis alle Bytes gesendet und empfangen wurden), aber beschädigt sein? (Ich behaupte nicht, dass das nicht passiert, ich hoffe nur, dass du vielleicht erklären kannst, warum es so ist.) - Eliah Kagan
@EliahKagan Das Problem ist normalerweise nicht, dass die Datei selbst beschädigt ist, sondern dass es eine (ich vereinfache, aber nicht zu viel) Datendatei und eine Indexdatei mit dem Hash (Fingerabdruck) der Datendatei gibt. Wenn die Repositories aktualisiert werden (geschieht jede Stunde), wird auf dem Server eine Datei nach der anderen aktualisiert. Nun kann es passieren, dass Ihr Client (apt-get oder ähnlich) auf den Server zugreift, wenn die Datendatei aktualisiert wurde, die Indexdatei jedoch noch nicht aktualisiert wurde (oder umgekehrt). Dann stimmt der Hash nicht mit der Datendatei überein und der Client nimmt (fälschlicherweise) an, dass die Datendatei beschädigt ist. - Patrick Häcker
Das Ändern des Spiegels funktionierte für mich, wenn keine der obigen Antworten dies tat. - mango


Wenn Sie sich hinter einem Proxy befinden, erstellen Sie eine Datei mit dem Namen 99fixbadproxy im /etc/apt/apt.conf.d/:

sudo gedit /etc/apt/apt.conf.d/99fixbadproxy

Fügen Sie das in ein 99fixbadproxy und speichern Sie es:

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;

Führen Sie nun den Update-Befehl aus:

sudo apt-get update

5
2017-08-08 21:37