Mam wirtualną skrzynkę vm Ubuntu 12.04, którą tworzę za pomocą Vagrant.
git clone https://github.com/spuder/puppet-gitlab
vagrant up
Jak tylko włóczęga uruchomi się apt-get update
, pojawia się następujący błąd.
...
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
Rzeczy, które próbowałem obejść ten błąd.
- Użyto 3 różnych pudełek Ubuntu 12.04 z „ http://www.vagrantbox.es ”
rozwiązanie sugerowane tutaj :
sudo rm -rf / var / lib / apt / list / *
sudo apt-get update
sudo apt-get cleanUsunięto i ponownie przeczytałem paczki z laboratoriami lalek
Próbowałem też podobnych sugestii, które znalazłem na pierwszych stronach Google. Próbowałem nawet wielu komputerów i wielu połączeń internetowych.
Fakt, że wpłynęło to na wiele Ubuntu VM na wielu połączeniach internetowych, sprawia, że myślę, że coś jest nie tak z repozytorium Ubuntu.
Jak inaczej mogę spróbować rozwiązać ten problem?
Aktualizacja
Próbowałem wyczyścić '/ var / lib / apt / list / Partial' i uruchomiłem apt-get clean, a następnie zastąpiłem źródła w / etc / sources / list za pomocą sugerowanych tutaj mirrorów amazon :
Nadal pojawia się podobny błąd
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.
Aktualizacja 2
Mam 2 połączenia internetowe w domu, oba dały ten sam błąd. Gdy tylko zabrałem laptopa do służbowego łącza internetowego, problem zniknął.
Nadal jestem ciekawy, dlaczego moje połączenie internetowe miałoby jakąkolwiek różnicę.
Aktualizacja 3
Zobacz moją odpowiedź poniżej, aby uzyskać wyjaśnienie. Mój filtr internetowy psuje pobieranie.
Przeredaguję pytanie, ponieważ nie ma jeszcze odpowiedzi.
Czy istnieje sposób na zastąpienie niedopasowania sumy skrótu w apt-get?
Odpowiedzi:
Po pierwsze, powinieneś zrozumieć, dlaczego występują błędy niedopasowania sumy kontrolnej. Zasadniczo istnieją 2 powody:
Po pierwsze, niektóre repozytoria apt używają skompresowanych metadanych LZMA (.xz). apt przed wersją 1.0 nie zdekompresuje poprawnie archiwów LZMA (czasami), co powoduje błąd niedopasowania sumy kontrolnej.
Istnieją dwa sposoby obejścia tego:
Zapoznaj się z tym postem na blogu, który napisałem o tym problemie, w którym objaśniono bardziej szczegółowo oba rozwiązania.
Po drugie, repozytoria APT są z natury ryzykowne . Rzeczywiste metadane APT są błędne, a ich konstrukcja uniemożliwia apt aptowi pobieranie metadanych repozytorium w spójny sposób, jeśli
apt-get update
dzieje się to podczas aktualizacji repozytorium.Istnieją dwa sposoby obejścia tego:
apt-get clean
a następnierm -rf /var/lib/apt/lists/*
. Następnie uruchomapt-get update
. Spowoduje to ponowne pobranie wszystkich metadanych. Jeśli repozytorium, z którym próbujesz się połączyć, nie zaktualizuje się samo podczas działaniaapt-get update
, wszystko będzie w porządku. W przeciwnym razie będziesz musiał to zrobić ponownie.źródło
Domyśliłam się.
Moje dwa komputery są identyczne pod każdym względem, z wyjątkiem tego, że na komputerze osobistym zainstalowałem filtr internetowy.
Filtr internetowy k9 zainstalował rozszerzenie jądra, które najwyraźniej miesza się z ruchem.
Gdy tylko odinstalowałem filtr, problem zniknął.
Nadal badam, czy istnieje sposób, aby
apt-get update
zignorować niedopasowania sumy Hash jako obejście.źródło