Błąd podczas pobierania listy pakietów z powodu błędu "Hash sum mismatch"

333

Podczas sprawdzania dostępności aktualizacji pojawia się błąd "Nie można pobrać informacji o repozytorium".

Oto szczegóły:

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.
    
zadawane Rob 09.05.2011, 22:55
źródło

17 odpowiedzi

398

Po prostu usuń całą zawartość katalogu /var/lib/apt/lists :

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

następnie uruchom:

sudo apt-get update
    
odpowiedział Lorem 09.05.2011, 23:52
źródło
121

Jest to znany problem i jest zaostrzony w przypadku klientów znajdujących się za buforami proxy. Niektóre duże organizacje i dostawcy usług internetowych (zwłaszcza w odległych częściach świata) mają przezroczyste pamięci podręczne, których możesz nie znać.

Podstawową kwestią jest to, że format apt repository podlega warunkom wyścigu podczas aktualizacji zwierciadła. Problem ten dotyczy szczególnie repozytoriów, które szybko się zmieniają, takich jak wersja rozwojowa.

Możesz śledzić postępy w tej poprawce w tym błędzie (proszę oznaczyć się jako "dotyczy mnie też" w błąd) i ten schemat . Należy jednak pamiętać, że jest to złożony problem i może zająć więcej niż jedno wydanie.

    
odpowiedział Robie Basak 06.07.2012, 00:21
źródło
77

Najłatwiej to naprawić:

sudo apt-get clean
sudo apt-get update
    
odpowiedział realhu 22.05.2015, 14:25
źródło
42

Nadal miałem problem po usunięciu katalogów i wykonaniu sudo apt-get update .
Tylko ten krok rozwiązał mój problem:

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

Nie wiem, czy to jest właściwy sposób na naprawienie ...
Znalazłem rozwiązanie tutaj .

    
odpowiedział m13r 27.08.2014, 21:55
źródło
25

Jedyne rozwiązanie, które zadziałało, to unix.stackexchange .

Dzieje się tak, ponieważ jest znany znany błąd, a rozwiązaniem jest aktualizacja przy użyciu innej metody kompresji, aby pliki ładowały się prawidłowo, a suma kontrolna się powiodła.

Spróbuj:

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

(dzięki @brook_hong z komentarzy dla części rm)

    
odpowiedział auval 31.05.2016, 16:13
źródło
22

Może się to zdarzyć, gdy twoje lustro nie jest aktualne lub nie powoduje przeciążenia błędów. Możesz albo chwilę poczekać i spróbować ponownie, albo przełączyć się na inny mirror:

  • > Jak mogę użyć lustra blisko mnie lub wybrać szybszy mirror?
odpowiedział Jorge Castro 28.04.2012, 04:04
źródło
5

Jeśli jesteś za serwerem proxy, utwórz plik o nazwie 99fixbadproxy w /etc/apt/apt.conf.d/ :

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

Wklej to do 99fixbadproxy i zapisz:

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

Teraz uruchom polecenie aktualizacji:

sudo apt-get update
    
odpowiedział Musaffa 08.08.2016, 23:37
źródło
4

Poniższe polecenia mogą rozwiązać twój problem.

sudo rm -R /var/lib/apt/lists/partial/*

a następnie

sudo apt-get update && sudo apt-get upgrade

to rozwiąże twój problem. Miałem też ten sam problem, ale powyższe polecenia rozwiązały problem. Wypróbuj je.

Informacje o rozwiązaniu

    
odpowiedział Shaharia Azam 17.12.2013, 22:47
źródło
3

Miałem dokładnie ten sam problem i wszystkie rozwiązania dostarczone za pomocą terminala nie pomogły.

Dla mnie było to:

Ustawienia → Oprogramowanie & amp; Aktualizacje → Oprogramowanie Ubuntu: Pobierz z: Change Local do Main Server .

Rozpoczyna ponowne ładowanie repozytoriów i aktualizację. Kiedy wchodzę:

sudo apt-get update

Po tym wszystkim nie było problemu. Używam Ubuntu 14.04.4 LTS.

    
odpowiedział habibun 28.07.2016, 11:56
źródło
1

Nie wiem, czy to właściwe rozwiązanie, ale wykonałem następujące czynności i komunikat o błędzie zniknął:

Po wpisaniu sudo apt-get update w terminalu, daje mi nazwy niektórych pakietów, które powodują błąd, a następnie zrobiłem co następuje:

Menedżer aktualizacji (aktualizacja oprogramowania) → Ustawienia → Skonfiguruj źródła oprogramowania → Inne oprogramowanie [karta] → Usuń zaznaczenie pakietów

Po naciśnięciu przycisku "zamknij" menedżer aktualizacji ponownie zaczął automatycznie sprawdzać dostępność aktualizacji i zobaczyłem komunikat: "oprogramowanie na tym komputerze jest aktualne. Ostatnio sprawdzone 2 sekundy temu."

Kubuntu 12.04

    
odpowiedział Hassan.J. 31.03.2014, 00:03
źródło
1

Miałem dokładnie ten sam problem i wszystkie rozwiązania dostarczone za pomocą terminala nie pomogły.

Dla mnie było to:

Ustawienia → Oprogramowanie & amp; Aktualizacje → Inne oprogramowanie: Odznacz wszystkie pola i naciśnij blisko.

Rozpoczyna ponowne ładowanie repozytoriów i aktualizację. Kiedy wchodzę:

sudo apt-get update

Po tym wszystkim nie było problemu. Używam Ubuntu 13.10.

    
odpowiedział Paul London 12.07.2014, 16:30
źródło
1

Miałem podobny problem i rozwiązałem go, otwierając aplikację "Oprogramowanie i aktualizacje" oraz, w zakładce "Ubuntu Software", zmieniając wartość "Pobierz z" (na tej liście rozwijanej, spróbuj wybrać, na przykład Główny serwer, jeśli tak nie było).

    
odpowiedział Andrea Pravato 05.08.2014, 21:59
źródło
0

Jako follow @ robie-basak użyłem apt-cacher-ng jako buforowanie lustrzane. Dlatego usunę proxy i problem został rozwiązany.

Usuwam proxy z pliku /etc/apt/apt.conf.d/01proxy :

#Acquire::http::Proxy "http://xxx.xx.xx.xx:4321";

Następnie musisz:

sudo rm -rf /var/lib/apt/lists/*
sudo aptitude update
sudo aptitude upgrade
    
odpowiedział shgnInc 02.03.2016, 07:14
źródło
0

Niedawno właśnie zainstalowałem Ubuntu 17.10 i otrzymałem ten sam błąd Hash Sum Mismatch dla jakiegoś repozytorium. Przeszedłem do Software and Checked Source, jak pokazano poniżej i nie było żadnych problemów z pobieraniem repozytorium z terminala.

    
odpowiedział Rahul Soshte 10.12.2017, 21:24
źródło
0

Może się tak zdarzyć, jeśli używasz routera z kontrolą rodzicielską i nie umieszczasz swojego raspberry pi na liście "niezarządzanej". Dla mnie mogłem zobaczyć, że adres URL przekierowywał do domeny krąg, zarządzanej przez router.

Więc dodałem moje pi do listy niezarządzanej i wszystko działało dobrze.

    
odpowiedział brad parks 19.02.2018, 20:51
źródło
0

Rozwiązałem wszystkie pakiety, które nie są instalowane, uruchamiając tę ​​komendę:

sudo apt-get install PACKAGENAME

Dla każdego z pakietów. Są teraz zainstalowane i błąd "Hash Sum niezgodności" minął.

    
odpowiedział BiggJJ 23.06.2013, 14:50
źródło
0

Nic dla mnie nie działało. Po wypróbowaniu i sugerowanych rozwiązaniach, ręcznie pobrałem uszkodzone pakiety, skopiowałem je do / var / cache / apt / archives i usunąłem uszkodzone pakiety z / var / cache / apt / archives / partial.

    
odpowiedział Ravi Misra 16.08.2018, 17:30
źródło

Przeczytaj inne pytania na temat tagów