Apt-Get przy użyciu Apt-Cacher NG nie może pobrać pakietów z niedopasowaniem sumy kontrolnej

8

Mam komputer, który używa Apt-Cachera NG, działającego na innym komputerze jako buforujący serwer proxy.

Podczas próby uruchomienia sudo apt-get updatepojawiają się następujące błędy:

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.

Katalog /etc/apt/sources.list.d jest pusty.

Aby to naprawić, wypróbowałem już następujące elementy bez powodzenia:

Rozwiązanie 1:

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

Rozwiązanie 2:

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

Jakieś sugestie?

Marco Lackovic
źródło
Czasami widziałem to zachowanie. Uruchamianie aktualizacji sudo apt-get kilka razy z rzędu pomogło w tym przypadku, ale nie wiem dlaczego, nigdy nie badałem tego problemu dokładniej.
nieparzysty
1
Dzieje się tak również na maszynach, które nie używają Apt-Cacher NG. W takich przypadkach rozwiązanie 1 rozwiązuje problem.
Marco Lackovic

Odpowiedzi:

11

Sugerowałbym zrezygnować z APT-cacher-ng i sprawdzić Squid-deb-proxy.

Z mojego doświadczenia wynika, że ​​APT-cacher-ng jest bardzo wadliwy, a mnóstwo zgłoszeń błędów jest wyjątkowych. Dopiero niedawno zaproponowano ponowne odblokowanie w Debianie teraz, gdy niektóre poważne błędy są zgniecione. W Ubuntu już dawno przeszedłem na Squid-deb-proxy i nie żałuję tego. To świetna alternatywa i najlepszy cache APT, jaki spotkałem.

W przypadku Squid-deb-proxy wystarczy zainstalować pakiet squid-deb-proxyi dodać dozwolone domeny docelowe w nowym pliku w /etc/squid-deb-proxy/mirror-dstdomain.acl.d. Jako bonus klienci mogą automatycznie wykrywać maszyny z funkcją buforowania w sieci lokalnej, po squid-deb-proxy-clientzainstalowaniu pakietu.

gertvdijk
źródło
6

Możesz to teraz naprawić, uruchamiając:

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

Spowoduje to usunięcie wszystkich uszkodzonych plików z pamięci podręcznej.

Aby stworzyć ten permanentanet, zajrzyj na https://www.unix-ag.uni-kl.de/~bloch/acng/html/maint.html#auto-cleanup

Zasadniczo można skonfigurować codzienne narzędzie do czyszczenia pamięci podręcznej, aby wykonać pełne dopasowanie sumy kontrolnej dla całej pamięci podręcznej. Spowoduje to wyłapanie wszystkich złych rozmiarów i wszelkich innych uszkodzeń i usunięcie tych plików. Zredagowałem /etc/cron.daily/apt-cacher-ngi dodałem następujące komentarze:

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

Jest to równoważne kliknięciu wszystkich opcji wygaśnięcia na stronie konserwacji oprócz „Pomiń sprawdzanie nagłówków ...”

Mark Porter
źródło
1
To była jedyna odpowiedź, która pozbyła się błędu w moich systemach!
Jan
Myślę, że możesz potrzebować ?na początku łańcucha eksportu.
TafT,
3

Sugestia 1

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

Sugestia 2

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

Sugestia 3

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

I wklej to w:

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

Spróbuj teraz:

sudo apt-get update
SirCharlo
źródło
1
Dzięki, ale żaden z trzech nie działał.
Marco Lackovic
Działa jak urok, który ustawia bez pamięci podręcznej na prawdę! Stukrotne dzięki! :)
mhenrixon
3

Walczę BARDZO często (1 na 50 pobrań) z błędami „Hash Sum Mismatch” i „Invalid Header” używanymi apt-cacher-ngna Ubuntu Precise 12.04 LTS od dnia aktualizacji dystrybucji. Ubuntu Precise używa apt-cacher-ngwersji 0.7.2-1, do tej pory WIELU poprawek błędów w tym oprogramowaniu, a nowsza wersja: 0.7.26-1 jest znacznie bardziej stabilna.

Zainstalowałem wersję Ubuntu Quantal z Package.ubuntu.com apt-cacher-ng, czyli wersję 0.7.26-1.

Bardzo polecam pobrać przyszłą / testową wersję apt-cacher-ngi ręcznie zainstalować ten nowszy pakiet.

Ron Allred
źródło
1

Moje aktualizacje zawsze prawie się udawały - 95% plików pobierałoby się przez proxy, pozostawiając być może ostatnie ~ 100 plików z błędem „niedopasowania sumy kontrolnej” i żadne z proponowanych rozwiązań nigdy nie zadziałałoby.

A potem, tylko dla uśmiechu i chichotów, przeszedłem 01proxydo 01proxy.ng, pobiegłem aptitude update, a potem wybrałem update-manageruaktualnienie dystrybucji. Kontynuowano pobieranie pozostałych plików z archive.ubuntu.com (~ 70M zamiast ~ 1G), a reszta aktualizacji przebiegła bezproblemowo. Po ponownym uruchomieniu, przeniosłem 01proxy.ng z powrotem do 01proxy i wszystko wróciło do normy.

Zrobiłem to teraz dwa razy, raz na samym serwerze proxy i raz na kliencie, i oba udało się pięknie po awarii (przy tym znaku 95%) podczas przechodzenia przez serwer proxy.

użytkownik117247
źródło
1

Zdejmowanie /var/cache/apt-cacher-ng/download.virtualbox.orgfolderu pomogło mi rozwiązać ten problem Failed to fetch ... Hash Sum mismatchna apt-get updatektóry uniemożliwiał virtualbox-4.3pakiet z serwera Oracle.

Adam Ryczkowski
źródło
0

Sugestia 4

Uruchomienie sudo apt-get update && sudo apt-get upgrade -yna serwerze Apt-Cacher NG może rozwiązać problem. Musisz to zrobić za każdym razem, gdy wystąpi problem.

Sugestia 5

Czasami problem dotyczy kopii dystrybucyjnej: zmiana kopii dystrybucyjnej /etc/apt/sources.list, zarówno na serwerze, jak i na klientach, może rozwiązać ten problem.

Marco Lackovic
źródło
0

Możesz także usunąć cały folder repozytorium

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

gdzie jest przechowywany pakiet z niedopasowaniem sumy kontrolnej.

Na następne żądanie apt nowy folder z czystą sumą skrótu zostanie automatycznie utworzony przez apt-cacher-ng.

panticz.de
źródło