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?


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.


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 ...”


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

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.


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.


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.


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.