J'ai une boîte virtuelle virtuelle Ubuntu 12.04 que j'instancie en utilisant Vagrant.
git clone https://github.com/spuder/puppet-gitlab
vagrant up
Dès que la boîte vagabonde s'exécute apt-get update
, J'obtiens l'erreur suivante.
...
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
Les choses que j'ai essayé de contourner cette erreur.
solution suggérée ici :
Sudo rm -rf/var/lib/apt/lists/*
Sudo apt-get update
Sudo apt-get clean
Suppression et réajout des packages de laboratoires de marionnettes
J'ai également essayé des suggestions similaires que j'ai trouvées dans les premières pages de Google. J'ai même essayé plusieurs ordinateurs et plusieurs connexions Internet.
Le fait que cela ait affecté plusieurs vm ubuntu sur plusieurs connexions Internet me fait penser qu'il y a quelque chose de mal avec le repo ubuntu.
Sinon, comment puis-je essayer de résoudre ce problème?
Mise à jour
J'ai essayé de nettoyer '/ var/lib/apt/lists/partial' et d'exécuter apt-get clean, puis j'ai remplacé les sources dans/etc/sources/list en utilisant les miroirs Amazon suggéré ici:
Je reçois toujours une erreur similaire
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
J'ai 2 connexions Internet à la maison, les deux ont donné la même erreur. Dès que j'ai amené mon ordinateur portable à ma connexion Internet professionnelle, le problème a disparu.
Je suis toujours curieux de comprendre pourquoi ma connexion Internet ferait une différence.
Mise à jour3
Voir ma réponse ci-dessous pour une explication. Mon filtre Internet corrompait le téléchargement.
Je vais reformuler la question car il n'y a pas encore de réponses.
Existe-t-il un moyen de remplacer les asymétries de Hash Sum dans apt-get?
Deviner.
Mes deux ordinateurs sont identiques à tous points de vue sauf sur mon ordinateur personnel j'ai installé un filtre internet.
Le filtre Internet k9 a installé une extension du noyau qui perturbe apparemment le trafic.
Dès que j'ai désinstallé le filtre, le problème a disparu.
Je recherche toujours s'il existe un moyen de faire apt-get update
ignorer les décalages de somme de hachage comme solution de contournement.
Tout d'abord, vous devez comprendre pourquoi des erreurs de non-concordance de somme de hachage se produisent. En général, il y a 2 raisons:
Premièrement, certains référentiels apt utilisent des métadonnées compressées LZMA (.xz). apt avant que la version 1.0 ne parvienne pas à décompresser correctement les archives LZMA (donnant parfois) l'erreur de non-concordance de la somme de hachage.
Il existe deux solutions pour cela:
Découvrez ceci article de blog J'ai écrit sur ce problème qui explique les deux contournements plus en détail.
Deuxièmement, les référentiels APT sont intrinsèquement racés . Les métadonnées réelles APT sont boguées et leur conception empêche les clients apt de télécharger les métadonnées du référentiel de manière cohérente si le apt-get update
se produit pendant la mise à jour du référentiel.
Il existe deux solutions pour cela:
apt-get clean
suivi par rm -rf /var/lib/apt/lists/*
. Ensuite, exécutez apt-get update
. Cela téléchargera à nouveau toutes les métadonnées. Si le référentiel auquel vous essayez de vous connecter ne se met pas à jour pendant que vous exécutez apt-get update
, tu seras bien. Sinon, vous devrez recommencer.