私はVagrantを使用してインスタンス化するUbuntu 12.04仮想ボックスvmを持っています。
git clone https://github.com/spuder/puppet-gitlab
vagrant up
放浪者ボックスが実行されるとすぐにapt-get update
、次のエラーが発生します。
...
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
私がこのエラーを回避しようとしたこと。
提案される解決策 ここ :
Sudo rm -rf/var/lib/apt/lists/*
sudo apt-get update
Sudo apt-get clean
Puppet labsパッケージを削除して再追加しました
また、Googleの最初の数ページで見つけた同様の提案も試しました。私は複数のコンピュータと複数のインターネット接続も試しました。
これが複数のインターネット接続上の複数のubuntu vmに影響を与えたという事実は、ubuntuリポジトリに何か問題があると思います。
他にどのようにしてこの問題を修正することができますか?
更新
'/ var/lib/apt/lists/partial'をクリーンアップしてapt-get cleanを実行してから、Amazonミラーを使用して/ etc/sources/listのソースを置き換えました ここに推奨:
私はまだ同じようなエラーが出ます
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
私は自宅に2つのインターネット接続を持っていますが、どちらも同じエラーを出しました。ラップトップを職場のインターネット接続に持って行くとすぐに、問題はなくなりました。
私のインターネット接続がなぜ変化をもたらすのか、私はまだ知りたいと思っています。
Update3
説明については、以下の私の回答を参照してください。インターネットフィルターがダウンロードを破損していました。
まだ回答がないので、質問を言い換えます。
apt-getでハッシュ合計の不一致をオーバーライドする方法はありますか?
理解した。
私の2台のコンピューターは、インターネットフィルターをインストールしたパーソナルコンピューター以外はすべて同じです。
K9インターネットフィルターは、明らかにトラフィックを乱すカーネル拡張機能をインストールしました。
フィルターをアンインストールするとすぐに、問題はなくなりました。
回避策としてハッシュサムの不一致をapt-get update
に無視させる方法があるかどうか、私はまだ調査中です。
まず、ハッシュ合計の不一致エラーが発生する理由を理解する必要があります。一般に、2つの理由があります。
まず、一部のaptリポジトリはLZMA(.xz)圧縮メタデータを使用します。バージョン1.0より前のaptは、LZMAアーカイブを正しく解凍できない場合があり、ハッシュサムの不一致エラーが発生することがあります。
これには2つの回避策があります。
これをチェックしてください ブログ投稿 この問題について、両方の回避策を詳細に説明しました。
第二に、 APTリポジトリは本質的に際どい です。実際のAPTメタデータはバグが多く、その設計により、リポジトリの更新中にapt-get update
が発生した場合、aptクライアントが一貫した方法でリポジトリメタデータをダウンロードできなくなります。
これには2つの回避策があります。
apt-get clean
を実行し、次にrm -rf /var/lib/apt/lists/*
を実行します。次に、apt-get update
を実行します。これにより、すべてのメタデータが再ダウンロードされます。接続しようとしているリポジトリがapt-get update
の実行中に更新されない場合は、問題ありません。それ以外の場合は、これをもう一度行う必要があります。