“Hash toplam uyuşmazlığı” hatası nedeniyle paket listesi indirirken sorun oluştu


387

Güncellemeleri kontrol ettiğimde, "Depo Bilgileri İndirilemedi" hatası alıyorum.

Detaylar altında ortaya çıkan şey bu:

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.

Yanıtlar:


459

Sadece /var/lib/apt/listsdizinin tüm içeriğini kaldırın :

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

o zaman koş:

sudo apt-get update

69
Tüm dosyaları kaldırırsanız, tekrar indirmeniz gerekir. Bu işlemi daha hızlı yapmak için geçersiz dosyayı kaldırabilirsiniz.
Behrang,

9
Bunu Debian'da da olduğunu hatırlıyorum. Çözüm, depoları (örn., Us.ubuntu.com'dan XX.ubuntu.com'a, XX'nin ülke kodunuz olduğu) değiştirmek veya beklemekti. En iyi fikir biraz beklemek ve daha sonra yeniden denemek olacaktır. Listeleri kaldırmak bozuk listeleri düzeltebilir, ancak bu nadiren olur.
f.ardelian

4
Eski soru, ancak bazı dağıtımlarda (emdebian gibi), bunu yaptıktan sonra " mkdir /var/lib/apt/lists/partial" (kök olarak, tabii ki) ya da " apt-get update" yapamazsınız veya apt kullanmanız gerekir.
Archenoth

7
@AlyssaGono bu bir klasörse, özyinelemeli bayrağıyla rm çalıştırmanız gerekir: sudo rm -R /var/lib/apt/lists/*ancak bunu yapmak bile benim için işe yaramadı.
14:32

2
-Rf ön ekine ihtiyacımız var , bu yüzden şöyle görüneceksudo rm -rf /var/lib/apt/lists/*
Askar

127

Bu bilinen bir sorundur ve vekil önbelleklerin arkasındaki istemciler için daha da kötüleşmektedir. Bazı büyük kuruluşların ve ISS'lerin (özellikle de dünyanın uzak bölgelerinde), farkında olamayabileceğiniz şeffaf önbellekleri vardır.

Temel sorun, uygun veri havuzu formatının, bir ayna güncellendiğinde yarış koşullarına tabi olmasıdır. Bu sorun özellikle, geliştirme yayımı gibi hızla değişen depoları etkiler.

Bu hatadaki düzeltmede ilerlemeyi takip edebilirsiniz (lütfen bu hatada kendinizi "beni de etkiler" olarak işaretleyin) ve bu planı . Ancak bunun karmaşık bir sorun olduğunu ve çözülmesi için birden fazla sürüm alabileceğini unutmayın.


4
Bu taslak artık erişilebilir değil; işte arşivlenmiş bir kopya .
Eliah Kagan

16
bu hata aynı zamanda ubuntu'da da var 16.04
Scott Stensland

1
Hata, "Fix Released" olarak işaretlendi.

Ayna varsayılanımı en iyi sunucu ve onun için benim için değiştirdim.
habibun

99

Bunu düzeltmenin en kolay yolu:

sudo apt-get clean
sudo apt-get update

12
Kabul edilen cevabı denedikten sonra hala aynı hatalarım vardı, bunu hemen sonra denemek sorunu çözdü
Alex

17
Yapma sudo rm -rf /var/lib/apt/lists/*o zaman sudo apto-get cleanda benim için sorun giderildi. Hiçbiri yalıtımda işe yaramadı.
Cam,

3
ubuntu 16.04 ile ilgili yardımcı olmuyor ... yukarıdaki yorum da hiçbir şekilde yardımcı olmuyor
Scott Stensland

3
sudo apt-get clean16.04 ile yardımcı olmadı, ancak sudo rm -rf /var/lib/apt/lists/*düzeltti
sdaffa23fdsf 0

2
Benim için kabul edilen cevap işe yaramadı, ama bu işe yaradı (Ubuntu 16.04).
JCasso

52

Benim için çalışan tek çözüm unix.stackexchange'ten geldi .

Bunun nedeni, bilinen bir hata olduğundan ve çözümün farklı bir sıkıştırma yöntemiyle güncellenmesidir, bu nedenle dosyalar doğru yüklenir ve sağlama toplamı başarılı olur.

Bunu bir deneyin:

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

(rm kısmı için yorumlardan @brook_hong teşekkürler)


9
Burada benim için çalışan tek çözüm bu. Teşekkürler.
Cerin

3
Benim için de işe yaradı. Bu komutu her zaman çalıştırmak zorunda olmadığınızı unutmayın. Sadece bir kez çalıştırın ve sonra hatasız "apt-get update" komutunu çalıştırabilirsiniz.
dalf,

2
Jenerik çözümü çeşitli forumlardan kullanmayı denedim, ancak bu kutudan çıktı. Teşekkür ederim.
wkhwilo

2
Ubuntu 16.04 / linux
nane'de

3
Bu benim için çalışılan tek çözüm, ben Ubuntu 16.04 kullanıyorum
Sunny Shukla

44

Rehberleri çıkardıktan ve yaptıktan sonra hala sorun yaşadım sudo apt-get update.
Sadece aşağıdaki adım sorunumu çözdü:

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

Bunu düzeltmenin doğru yolu olup olmadığını bilmiyorum ...
Çözümü burada buldum .


13
Biri de-part'ın Almanya için bir sunucuya işaret ettiğini ve bu betiğin yerel sunucuya ana sunucu ile değiştirildiğini not etmelidir . Yazılım Kaynaklarına Gitmek GUI-yolu ve ayarların değiştirilmesi birçok kullanıcı için daha güvenli ve geri dönüşümlü olacaktır. Neredeyse her ülke için aşağıdakiler işe sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list
yaramalıdır

23

Bu, aynanız güncel olmadığında veya aşırı yüklenmeden hatalar sunulduğunda ortaya çıkabilir. Bir süre bekleyebilir ve tekrar deneyebilir veya başka bir aynaya geçebilirsiniz:


2
Bir sunucu neden güncel olmamıyor veya aşırı yüklenmiyor, doğru adı olan bir dosyanın başarıyla indirilmesine neden oluyor (tüm baytlar gönderilip alınana kadar bağlantının sonlanmaması anlamında), ancak bozuluyor? (Bunun olmadığını iddia etmiyorum, sadece neden olduğunu açıklayabileceğinizi umuyorum.)
Eliah Kagan

3
@EliahKagan Sorun normal olarak dosyanın kendisinin bozuk olmasından kaynaklanmaz, ancak veri dosyasının karma değerini (parmak izi) içeren bir dizin dosyası (çok basitleştiriyorum ama çok fazla değil) var. Depolar güncellendiğinde (her saat başı gerçekleşir) sunucuda diğeri güncellendikten sonra bir dosya halinde. Artık istemciniz (apt-get veya benzeri) veri dosyası güncellendiğinde ancak dizin dosyası henüz güncellenmemişse (veya tam tersi) sunucuya erişebilir. Sonra karma veri dosyasıyla eşleşmiyor ve istemci (yanlış) veri dosyasının bozuk olduğunu varsayıyor.
Patrick Häcker

1
Aynanın değiştirilmesi yukarıdaki cevapların hiçbiri yapmadığında benim için çalıştı.
mango

10

Eğer Proxy'yle iseniz, o zaman adlı bir dosya oluşturmak 99fixbadproxyiçinde /etc/apt/apt.conf.d/:

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

Bunu içine yapıştırın 99fixbadproxyve kaydedin:

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

Şimdi update komutunu çalıştırın:

sudo apt-get update

1
Vay canına, her cevabı deniyordum, aynı semptomla sonuçlanan kaç farklı sorunun olduğu garip.
Ocak’ta

1
Bu cevaba çok borçluyum
bremen_matt

5

Aşağıdaki komutlar sorununuzu çözebilir.

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

ve sonra

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

senin problemini çözecek. Aynı problemle de karşılaştım ancak yukarıdaki komutlar sorunu benim için çözdü. Öyleyse onlara bir şans ver.

Çözüm referans


4
Sadece denedim ve işe yaramadı; İlk apt-get updateoluşturulan dosyalar aynı dizinde tekrar aynı yerde.
Volker Siegel

3

Aynı sorunu yaşadım ve terminali kullanarak sağlanan tüm çözümler yardımcı olmadı.

Benim için içine girerek oldu:

Ayarlar → Yazılım ve Güncellemeler → Ubuntu Yazılım: İndirme: Change Localila Main Server.

Depoları yeniden yüklemeye ve güncellemeye başlar. Girdiğimde:

sudo apt-get update

Bundan sonra, hiçbir sorun yoktu. Ubuntu 14.04.4 LTS kullanıyorum.


1

Bunun doğru bir çözüm olup olmadığını bilmiyorum, ancak aşağıdakileri yaptım ve hata mesajı bitti:

sudo apt-get updateTerminalde yazdıktan sonra bana hata yapan bazı paketlerin isimlerini veriyor, sonra da aşağıdakileri yaptım:

Güncelleme yöneticisi (yazılım güncellemesi) → Ayar → Yazılım Kaynaklarını Yapılandır → Diğer yazılımlar [sekme] → Paketlerin işaretini kaldır

"Kapat" düğmesine bastıktan sonra, güncelleme yöneticisi otomatik olarak güncellemeyi kontrol etmeye başladı ve şu mesajı gördüm: "Bu bilgisayardaki yazılım güncel. Son 2 saniye önce kontrol edildi."

Kubuntu 12.04


Bu benim için çalıştı ve burada yayınlanan hiçbir çözüm işe yaramadı. Ubuntu kullanıcı arayüzüne sahip olmadığım durumlar dışında (sadece WSL altında komut satırı çalışıyor), Dolayısıyla <pkg>, hatanın oluştuğu her paket için `sudo apt-get install <pkg> ' komutunu çalıştırdım . 16.04 Ubuntu'dayım.
Yitz

1

Aynı sorunu yaşadım ve terminali kullanarak sağlanan tüm çözümler yardımcı olmadı.

Benim için içine girerek oldu:

Ayarlar → Yazılım ve Güncellemeler → Diğer yazılımlar: Tüm kutuların işaretini kaldırın ve kapat tuşuna basın.

Depoları yeniden yüklemeye ve güncellemeye başlar. Girdiğimde:

sudo apt-get update

Bundan sonra, hiçbir sorun yoktu. Ubuntu 13.10 kullanıyorum.


Bu işe yarıyor ancak makineyi çekirdek yapının bir parçası olmayan paketler kurabilmesini engelliyor (bu onay kutuları daha sonra yeniden etkinleştirilinceye kadar) hedefli paketlerin kurulumu
Scott Stensland 06.06.2016

1

Benzer bir sorun yaşadım ve "Yazılım ve Güncellemeler" isimli uygulamayı açarak ve "Ubuntu Yazılım" sekmesinde "İndirme" değerini değiştirerek çözdüm (açılan listeden, örneğin Sunucu böyle değilse).


Evet, benim için çalışan tek şey. İsviçre sunucusu bozuk görünüyor.
Eric MORAND

1

Follow @ robie-basak, apt-cacher-ngayna önbelleği olarak kullandım . Böylece proxy'yi kaldırdım ve sorun çözüldü.

Dosyadaki proxy'yi kaldırıyorum /etc/apt/apt.conf.d/01proxy :

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

O zaman yapmanız gerekenler:

sudo rm -rf /var/lib/apt/lists/*
sudo aptitude update
sudo aptitude upgrade

1

Ubuntu 17.10'u henüz yeni kurdum ve Hash Sum Mismatch'in bazı depolar için aynı hatayı alıyordum. Aşağıda gösterildiği gibi Yazılım ve Kontrol Edilen Kaynak bölümüne gittim ve depodan terminal indirirken daha fazla sorun yaşamadım.

Yazılımım ve Güncelleme Bölümüm


0

Bu, ebeveyn denetimleri olan bir yönlendirici kullanıyorsanız ve ahududu pi'nizi "yönetilmeyen" bir listeye yerleştirmediyse oluşabilir. Benim için, URL'nin yönlendirici tarafından yönetilen bir çevre etki alanına yönlendirdiğini görebiliyordum.

Böylece pi'mi yönetilmeyen listeye ekledim ve iyi çalıştı.


0

Bu komutu çalıştırarak yüklenmeyen bütün paketleri çözdüm:

sudo apt-get install PACKAGENAME

Paketlerin her biri için. Onlar şimdi yüklü ve "Hash Sum uyuşmazlığı" hatası gitti.


0

Hiçbir şey benim için çalıştı. Denemenin ve önerilen çözümlerin sonunda nihayet, kırık paketleri manuel olarak indirdim, / var / cache / apt / archives içine kopyaladım ve kırılmış paketleri / var / cache / apt / archives / partial dizininden çıkardım.


0

Ubuntu 18.04'te de aynı problemle karşılaştım, pratik tecrübem aşağıda:

  1. İçindeki proxy'yi kaldır /etc/apt/apt.conf
  2. Resmi apt sources.list olarak değiştirin /etc/apt/sources.list
  3. Çalıştırmak sudo rm -rf /var/lib/apt/lists/*
  4. Paketleri temizle sudo apt autoremove -y && sudo apt autoclean -y
  5. Güncelle ve Yükselt. sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y

Bitti!


0

Bu benim için Ubuntu 16.04'te oldu ve en çok oy alan çözümlerden hiçbiri işe yaramadı. Çözüm, paketleri yükseltmekti:

sudo apt-get update    # this will fail
sudo apt-get upgrade
sudo apt-get update    # this will succeed

Eski listelerin ( sudo rm -rf /var/lib/apt/lists/*ve / veya sudo apt-get clean) temizliğinin yardımcı olup olmadığından emin değil! Gerekirse onları kullanın.


0

20190112 #Errors #apt #Fix #Updates Getirilemedi ... Hash Sum uyuşmazlığı

  1. Apt-get komutunu çalıştırın ve aranacak anahtar kelimeleri bulun /etc/apt:
    • $ sudo apt-get -y güncellemesi
    • ...
    • Err: 77 http://au.archive.ubuntu.com/ubuntu xenial-updates / multiverse DEP-11 64x64 Simgeler
    • Hash Sum uyuşmazlığı
    • ...
    • Bu durumda, anahtar kelime "DEP-11" dir.
  2. /etc/aptAnahtar kelimeler için ağacı ara :
    • $ sudo / etc / apt türünü bulur - tür f -exec egrep -in "DEP-11" "{}" / dev / null ";"
    • /apt.conf.d/50appstream:1:## Bu dosya DEP-11'i indirmek için appstreamcli (1) tarafından sağlanmaktadır.
    • /apt.conf.d/50appstream:6: deb :: DEP-11 {
    • /apt.conf.d/50appstream:9: Açıklama "$ (RELEASE) / $ (BİLEŞEN) $ (NATIVE_ARCHITECTURE) DEP-11 Meta Veri";
    • /apt.conf.d/50appstream:15: # DEP-11'de açıklanan GUI bileşenleri için normal boyutlu simgeler
    • /apt.conf.d/50appstream:17: deb :: DEP-11-simgeler {
    • /apt.conf.d/50appstream:20: Açıklama "$ (RELEASE) / $ (BİLEŞEN) DEP-11 64x64 Simgeler";
    • /apt.conf.d/50appstream:27: # DEP-11 YAML meta verileri.
    • /apt.conf.d/50appstream:28: deb :: DEP-11-simgeler-hidpi {
    • /apt.conf.d/50appstream:31: Açıklama "$ (RELEASE) / $ (BİLEŞEN) DEP-11 128x128 Simgeler";
  3. Sorunlu listesini bulduktan sonra, bu işe yaramazsa diye bir yere taşıyın:

    sudo mv -f /apt.conf.d/50appstream /tmp  
    
  4. Temizle /var/lib/apt:

    sudo apt-get -y clean  
    sudo rm -rf /var/lib/apt/lists/*  
    sudo find /var/lib/apt -type d -name "partial" -exec rm -rf "{}" ";"  
    
  5. Şimdi güncellemeyi dene, şimdi çalışması gerekiyor:

    sudo apt-get -y update  
    
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.