我有一个使用 Vagrant 实例化的 Ubuntu 12.04 虚拟机 vm。
git clone https://github.com/spuder/puppet-gitlab
vagrant up
Run Code Online (Sandbox Code Playgroud)
一旦 vagrant box 运行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
Run Code Online (Sandbox Code Playgroud)
我试图解决这个错误的事情。
这里建议的解决方案:
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get 更新
sudo apt-get clean
删除并读取了 puppet labs 包
我也尝试过在 google 的前几页中找到的类似建议。我什至尝试过多台计算机和多个互联网连接。
这影响了多个互联网连接上的多个 ubuntu 虚拟机这一事实让我认为 ubuntu 存储库有问题。
我还能如何尝试解决此问题?
更新
我尝试清理 '/var/lib/apt/lists/partial' 并运行 apt-get clean 然后使用此处建议的亚马逊镜像替换 /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.
Run Code Online (Sandbox Code Playgroud)
更新2
我家里有 2 个互联网连接,它们都出现了同样的错误。一旦我将笔记本电脑连接到我的工作互联网连接,问题就消失了。
我仍然很想知道为什么我的互联网连接会有所作为。
更新3
请参阅下面我的回答以获取解释。我的互联网过滤器损坏了下载。
我会改写这个问题,因为还没有答案。
有没有办法覆盖 apt-get 中的哈希和不匹配?
Joe*_*ato 29
首先,您应该了解为什么会出现哈希和不匹配错误。一般来说,有2个原因:
首先,一些 apt 存储库使用 LZMA (.xz) 压缩元数据。1.0 版之前的 apt 无法正确(有时)解压缩 LZMA 档案,导致散列和不匹配错误。
有两种解决方法:
查看我写的关于这个问题的这篇博文,它更详细地解释了这两种变通方法。
其次,APT 存储库本质上是活泼的。实际的 APT 元数据是有问题的,它的设计使得 apt 客户端无法以一致的方式下载存储库元数据,如果在apt-get update
更新存储库时发生这种情况。
有两种解决方法:
apt-get clean
然后运行rm -rf /var/lib/apt/lists/*
. 接下来,运行apt-get update
。这将重新下载所有元数据。如果您尝试连接的存储库在您运行时没有自行更新apt-get update
,您会没事的。否则,您将不得不再次执行此操作。弄清楚了。
我的两台计算机在各方面都相同,除了在我的个人计算机上我安装了互联网过滤器。
k9 互联网过滤器安装了一个内核扩展,显然会干扰流量。
一旦我卸载了过滤器,问题就消失了。
我仍在研究是否有任何方法可以将apt-get update
忽略哈希和不匹配作为一种解决方法。