Apt-Get mit Apt-Cacher NG kann keine Pakete mit nicht übereinstimmender Hash-Summe abrufen

8

Ich habe einen Computer, der Apt-Cacher NG verwendet und auf einem anderen Computer als Caching-Proxy ausgeführt wird.

Wenn ich versuche zu laufen, sudo apt-get updateerhalte ich die folgenden Fehler:

W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_source_Sources  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_universe_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_binary-i386_Packages  Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.

Das Verzeichnis /etc/apt/sources.list.d ist leer.

Um dies zu beheben, habe ich bereits Folgendes ohne Erfolg versucht:

Lösung 1:

sudo rm -fr /var/lib/apt/lists
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get autoclean

Lösung 2:

sudo apt-get update -o Acquire::http::No-Cache=True

Irgendein Vorschlag?

Marco Lackovic
quelle
Ich habe dieses Verhalten manchmal gesehen. Das mehrmalige Ausführen von sudo apt-get update hat in diesem Fall geholfen, aber ich weiß nicht warum, habe dieses Problem nie genauer untersucht.
Oddfellow
1
Dies geschieht auch auf Maschinen, die Apt-Cacher NG nicht verwenden. In diesen Fällen behebt Lösung 1 das Problem.
Marco Lackovic

Antworten:

11

Ich würde vorschlagen, von APT-cacher-ng wegzuschalten und Squid-deb-proxy zu testen.

APT-cacher-ng hat sich meiner Erfahrung nach als sehr fehlerhaft erwiesen, und unzählige Fehlerberichte sind hervorragend. Erst kürzlich wurde erneut vorgeschlagen , in Debian die Blockierung aufzuheben, nachdem einige wichtige Fehler behoben wurden. Für Ubuntu habe ich vor langer Zeit zu Squid-deb-proxy gewechselt und ich bereue es nicht. Es ist eine großartige Alternative und der beste APT-Cacher, den ich je gesehen habe.

Installieren Sie für Squid-deb-proxy einfach das Paket squid-deb-proxyund fügen Sie zulässige Zieldomänen in einer neuen Datei in hinzu /etc/squid-deb-proxy/mirror-dstdomain.acl.d. Als Bonus können Clients Caching-fähige Computer im lokalen Netzwerk automatisch erkennen, indem sie das squid-deb-proxy-clientPaket installieren.

gertvdijk
quelle
6

Sie können dies jetzt beheben, indem Sie Folgendes ausführen:

http://your-cache-server:3142/acng-report.html?abortOnErrors=aOe&byPath=bP&byChecksum=bS&truncNow=tN&incomAsDamaged=iad&purgeNow=pN&doExpire=Start+Scan+and%2For+Expiration&calcSize=cs&asNeeded=an#bottom

Dadurch werden alle beschädigten Dateien in Ihrem Cache gelöscht.

Informationen zum Erstellen dieses permanenten Netzwerks finden Sie unter https://www.unix-ag.uni-kl.de/~bloch/acng/html/maint.html#auto-cleanup

Grundsätzlich können Sie das Cron für die tägliche Cache-Bereinigung so einrichten, dass eine vollständige Prüfsummenübereinstimmung für Ihren gesamten Cache durchgeführt wird. Dadurch werden alle fehlerhaften Größen und alle anderen Beschädigungen abgefangen und diese Dateien gelöscht. Ich habe /etc/cron.daily/apt-cacher-ngnach den Kommentaren Folgendes bearbeitet und hinzugefügt:

export ACNGREQ="abortOnErrors=aOe&byPath=bP&byChecksum=bS&truncNow=tN&incomAsDamaged=iad&purgeNow=pN&doExpire=Start+Scan+and%2For+Expiration&calcSize=cs&asNeeded=an"

Dies entspricht dem Klicken auf alle Ablaufoptionen auf der Wartungsseite mit Ausnahme von "Headerprüfungen überspringen ...".

Mark Porter
quelle
1
Dies war die einzige Antwort, die den Fehler auf meinen Systemen beseitigt hat!
Januar
Ich denke, Sie benötigen möglicherweise eine ?am Anfang Ihrer Exportzeichenfolge.
TafT
3

Vorschlag 1

sudo rm /var/lib/apt/lists/*gzip*
sudo rm /var/lib/apt/lists/partial/*gzip*
sudo apt-get update

Vorschlag 2

sudo rm -f /var/cache/apt/partial/*
sudo rm -f /var/cache/apt/*.deb
sudo apt-get update

Vorschlag 3

sudo touch /etc/apt/apt.conf.d/no-cache
sudo nano /etc/apt/apt.conf.d/no-cache

Und fügen Sie dies ein:

Acquire::http {No-Cache=True;};

Versuchen Sie jetzt:

sudo apt-get update
SirCharlo
quelle
1
Danke, aber keiner der drei hat funktioniert.
Marco Lackovic
Arbeitete wie ein Zauber, der No-Cache auf true setzt! Tausend Dank! :)
Mhenrixon
3

Ich habe SEHR häufig (1 von 50 Downloads) mit "Hash Sum Mismatch" - und "Invalid Header" -Fehlern unter apt-cacher-ngUbuntu Precise 12.04 LTS seit dem Tag des Upgrades der Distribution gekämpft. Ubuntu Precise verwendet apt-cacher-ngVersion 0.7.2-1, bis heute gibt es VIELE Fehlerkorrekturen für diese Software, und die neuere Version: 0.7.26-1 ist viel stabiler.

Ich habe die Ubuntu Quantal-Version apt-cacher-ngvon packages.ubuntu.com installiert , die Version 0.7.26-1 ist.

Ich empfehle dringend, sich die Zukunfts- / Testversion von zu apt-cacher-ngschnappen und dieses neuere Paket manuell zu installieren.

Ron Allred
quelle
1

Meine Upgrades waren immer fast erfolgreich - 95% der Dateien wurden über den Proxy heruntergeladen, sodass möglicherweise die letzten ~ 100 Dateien mit "Hash-Summen-Nichtübereinstimmung" fehlschlugen und keine der vorgeschlagenen Lösungen jemals funktionieren würde.

Und dann, nur zum Grinsen und Kichern, ging ich 01proxyzu 01proxy.ng, lief aptitude updatedann update-managerund wählte das Distributions-Upgrade aus. Die restlichen Dateien wurden von archive.ubuntu.com heruntergeladen (~ 70M statt ~ 1G), und der Rest des Upgrades verlief reibungslos. Nach dem Neustart habe ich 01proxy.ng wieder auf 01proxy verschoben und alles war wieder normal.

Ich habe dies jetzt zweimal gemacht, einmal auf dem Proxyserver selbst und einmal auf einem Client, und beide haben es einfach wunderbar geschafft, nachdem sie (bei dieser 95% -Marke) beim Durchlaufen des Proxys versagt hatten.

user117247
quelle
1

Das Entfernen der /var/cache/apt-cacher-ng/download.virtualbox.orgOrdner mir geholfen haben , das Problem mit zu beheben Failed to fetch ... Hash Sum mismatchauf apt-get updatediesem verhinderte virtualbox-4.3Paket von Oracle - Server.

Adam Ryczkowski
quelle
0

Vorschlag 4

Das Ausführen sudo apt-get update && sudo apt-get upgrade -yauf dem Apt-Cacher NG-Server kann das Problem beheben. Sie müssen dies jedes Mal tun, wenn das Problem auftritt.

Vorschlag 5

Manchmal liegt das Problem auf dem Spiegel: Durch Ändern des Spiegels /etc/apt/sources.listsowohl auf dem Server als auch auf den Clients kann dieses Problem möglicherweise behoben werden.

Marco Lackovic
quelle
0

Sie können auch den gesamten Repository-Ordner entfernen

rm -r /var/cache/apt-cacher-ng/<repository_folder>

Hier wird das Paket mit der Nichtübereinstimmung der Hash-Summe gespeichert.

Bei der nächsten apt-Anfrage wird automatisch ein neuer Ordner mit einer sauberen Hash-Summe von apt-cacher-ng erstellt.

panticz.de
quelle