Apt-get update “Hash Sum uyuşmazlığı” güncellemesini nasıl düzeltirsiniz?


23

Vagrant kullanarak başlattığım bir Ubuntu 12.04 sanal kutusu vm var.

git clone https://github.com/spuder/puppet-gitlab
vagrant up

Serseri kutusu çalışır çalışmaz apt-get updateaşağıdaki hatayı alıyorum.

...
W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_main_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_main_binary-i386_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_dependencies_binary-i386_Packages  Hash Sum mismatch
W: Failed to fetch http://br.archive.ubuntu.com/ubuntu/dists/precise-updates/restricted/binary-i386/Packages  404  Not Found

Bu hata etrafında çalışmaya çalıştığım şeyler.

  • ' Http://www.vagrantbox.es ' den 3 farklı ubuntu 12.04 kutu kullanıldı
  • burada önerilen çözüm :

    sudo rm - rf / var / lib / apt / listeler / *
    sudo apt-get güncelleme
    sudo apt-get clean

  • Kukla laboratuarı paketlerinin kaldırılması ve okunması

Ayrıca google’ın ilk birkaç sayfasında bulduğum benzer önerileri de denedim. Birden fazla bilgisayar ve birden fazla internet bağlantısı bile denedim.

Bunun birden fazla ubuntu vm'nin birden fazla internet bağlantısındaki etkilenmesi gerçeği, ubuntu deposunda bir sorun olduğunu düşünmemi sağlıyor.

Bu sorunu başka nasıl düzeltebilirim?

Güncelleştirme

'/ Var / lib / apt / list / partial' ı temizlemeyi ve apt-get clean komutunu çalıştırmayı denedim, sonra burada önerilen amazon aynalarını kullanarak / etc / sources / list içindeki kaynakları değiştirdim :

Hala benzer bir hata alıyorum

Fetched 18.9 MB in 10s (1,865 kB/s)                                                                                                                                                                            
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_multiverse_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages  Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.

Update2

Evde 2 internet bağlantım var, ikisi de aynı hatayı verdi. Dizüstü bilgisayarımı çalışma internet bağlantımla aldığım anda sorun çözüldü.

İnternet bağlantımın neden bir fark yaratacağını anlamak hala merak ediyorum.

Update3

Bir açıklama için aşağıdaki cevaba bakınız. İnternet filtrem indirmeyi bozuyordu.

Henüz bir cevap olmadığı için soruyu tekrar yazacağım.

Hash-Sum uyumsuzluklarını apt-get içinde geçersiz kılmanın bir yolu var mı?


Burada önerildiği gibi önbelleği temizlediniz mi?
Kiwy

Ayrıca dağıtımınız apt-cacher NG içeriyor mu? güvenilmez görünüyor
Kiwy

O bloga rastladım ve apt-cache-ng'nin yüklü olmadığını doğruladım. Farklı bir internet bağlantısında farklı bir hiper yönetici denediğimde sorun çözüldü.
spuder

belki bir hipervizöre belirli bir hashın kırılmış bir uygulaması, ama yine de çok garip.
Kiwy

Çözümün de benim için çalıştı. AWS'de barındırılan bir TinyProxy sunucusu üzerinden çalışıyordum ve bazı reklam filtreleri ayarlarım vardı. Apt.conf'daki proxy'den kurtulduğumda, her şey yolunda gidiyor.

Yanıtlar:


20

İlk olarak, neden toplam toplam uyuşmazlığı hatalarının meydana geldiğini anlamalısınız. Genel olarak, 2 neden vardır:

İlk olarak, bazı apt havuzları LZMA (.xz) sıkıştırılmış meta verilerini kullanır. 1.0 sürümünden önceki apt, karma toplamı uyuşmazlığı hatası veren LZMA arşivlerinin doğru şekilde açılmasını (bazen).

Bunun için iki çalışma var:

  1. Apt istemcinize XZ sıkıştırılmış meta verileri kullanmamasını söyleyin
  2. Sisteminizde apt sürümünün 1.0'dan daha yeni bir sürüme yükseltilmesi

Bu blog yazısına göz atın Bu konuyla ilgili yazdığım her iki sorunu da daha ayrıntılı olarak açıklar.

İkincisi, APT depoları doğal olarak müstehcendir . Gerçek APT meta verileri bir hata ayıklama aracıdır ve tasarımı, apt müşterileri için apt-get updatedepo güncellendiğinde gerçekleşirse , depo meta verilerini tutarlı bir şekilde indirmelerini imkansız kılar .

Bunun için iki çalışma var:

  1. Daha yeni bir APT sürümüne yükseltin ve oluşturduğunuz (veya kullanmak istediğiniz) havuzun Acquire by hash özelliğini desteklediğinden emin olun. Bu sorunu özünde düzeltir, ancak bazı durumlarda depoyu kontrol etmezseniz mümkün olmaz.
  2. Sisteminizdeki önbelleğe alınmış meta verileri silebilir ve tekrar deneyebilirsiniz. Bunu yapmak için önce koşuyu apt-get cleantakip edin rm -rf /var/lib/apt/lists/*. Ardından koşun apt-get update. Bu, tüm meta verileri yeniden indirir. Bağlanmaya çalıştığınız havuz çalışıyorken kendisini güncellemezse apt-get update, sorun olmaz. Aksi takdirde, bunu tekrar yapmanız gerekecek.

Bu benim için çalışan tek çözüm! Blog yazısı için teşekkürler
Amir Uval

Apt'nin en son sürüm olması daha iyi yorumda bulundu. Lütfen bana nasıl güncelleneceğini söyler misiniz?
Amir Uval

Elde Etme özelliğini tam olarak nasıl kullanıyorsunuz? Bununla ilgili bloglar gördüm, ancak tam olarak hangi dosyayı koyacağını söylemediler ve bir örnek göstermediler.
LINUX G33NYUS

6

Anladım.

İki bilgisayarım, kişisel bilgisayarım dışında bir internet filtresi taktığım dışında her şekilde aynı.

K9 internet filtresi, görünüşte trafikle karışık olan bir çekirdek uzantısı kurdu.

Filtreyi kaldırdığım anda sorun çözüldü.

Hala apt-get updateHash toplamı uyumsuzluklarını geçici bir çözüm olarak görmezden gelmenin bir yolu olup olmadığını hala araştırıyorum .


Bu gerçekten çok mantıklı çünkü son zamanlarda k9'u yükledikten sonra bu sorunu yaşamaya başladım; ama bağlantıyı o zaman yapmadım. Bir geçici çözüm iyi olacaktır, çünkü açıkçası filtreyi devre dışı bırakmamayı tercih ediyorum (sonuçta, bunun bir nedeni var).
MuffinTheMan

Evet ama bunu nasıl yapabilirim (filtreyi kaldırabilirim), çünkü seninle aynı problemim var, ama nasıl

K9'un son sürümünü web sitelerinden indirin. Yükleme paketinin içinde bir kaldırma programı olacak.
spuder
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.