关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
youngcle
帖子: 1
注册时间: 2008-07-20 14:10

关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

#1

帖子 youngcle » 2013-04-30 10:40

关于Hash Sum mismatch问题的原因

4月29日安装了新发布的ubuntu 1304,没想道刚要更新源,安装ubuntu-restricts-extras,就遇到问题。

W:Failed to fetch gzip:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_natty_main_source_Sources Hash Sum mismatch,
E:Some index files failed to download. They have been ignored, or old ones used instead.

我估计很多人遇到过此问题,搜索半天发现国内所有中文描述此问题的解决方案的没有一个是靠谱可用的。

随查询英文,方得到正解,为了避免更多人疑惑,很少发帖的我决定把此问题的真正原因告知大家。

先引用 askubuntu.com上面关于此问题的原文解释
给出正解的人叫做Robie Basak
This is a known issue, and is exacerbated for clients behind proxy caches. Some large organisations and ISPs (especially in remote parts of the world) have transparent caches of which you may not be aware.

The fundamental issue is that the apt repository format is subject to race conditions when a mirror is updated. This problem particularly affects repositories that change rapidly, such as the development release.

You can track progress on the fix for this in this bug (please mark yourself as "affects me too" in the bug) and this blueprint. But be aware that it is a complex issue and may take more than one release to resolve.
shareimprove this answer

answered Jul 5 '12 at 22:21
大意是:你所使用的网络供应商,有些会设置一些透明缓存,以增加网络内部速度,减少出口的流量,你获取的某些文件不是源服务器上的真正文件,是从缓存中获取的,当缓存中获取的一些校验信息跟源中不一致的时候,自然提示校验失败,无法继续更新。

此问题实际上跟apt软件仓库的格式设计有关。新发布的版本的软件仓库更新比较频繁,按道理缓存中的文件应该同步更新,可惜因为多个镜像站点的有快慢,因此造成了缓存无法保证一致性。
当网络提供商足够有实力,不设至透明缓存时,这个问题是不存在的。这就是为什么有些人反馈使用无线上网卡(移动、联通的3g网络)就一切OK,一单换回长城宽带、或者宽带通就不行了。

以上就是问题出现的真正原因。

我的家中网络是宽带通,毫无疑问这种网络ISP肯定会设置透明缓存。
解决方案很简单,绕过缓存直接访问站点即可。
如何绕过ISP设置的这种缓存,方法跟绕过长城防火墙一样。
我找了格免费的ssh服务代理,
再安装一个proxychains,在/etc/proxychians.conf 中设置好你的代理
使用proxychains sudo apt-get update

更新正常(无论你更新哪一个源,国内或国外)

如果你觉得代理不够快,只要更新完源索引,安装软件时直接sudo apt-ge install xxx,即可。在软件中心中安装各类软件也没问题。


这问题根本解决跟apt repository的格式设计有关。
不过欧美的ISP似乎网络足够好,设置缓存的较少,反正提此问题的人并不多。因此他们是不是会进行改进设计真是无法预知。

还有一种情况会自然解决,就是等源索引渐渐稳定下来后,你的ISP的缓存也就跟真实数据保持一致了,此时更新就自然没问题。
新版本发布时更新肯定很频繁,估计大部分新版控无法等待。


以上就是关于引起更新源索引时Hash Sum mismatch问题的真正原因,以及解决方案,希望对各位朋友有所帮助

2013年4月30日
xueshanlongyin
帖子: 5
注册时间: 2013-04-29 16:04
系统: ubuntu13.04+win7

Re: 关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

#2

帖子 xueshanlongyin » 2013-05-13 19:45

就是说,我要等下去了。。。
头像
qy117121
论坛版主
帖子: 50528
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: 关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

#3

帖子 qy117121 » 2013-05-13 20:05

换个源也就好了
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
bot+
帖子: 10
注册时间: 2013-05-13 12:39

Re: 关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

#4

帖子 bot+ » 2013-05-13 20:13

感谢分享
这帖回得够像bot,嗯
头像
zhangliyuan
帖子: 3
注册时间: 2013-08-30 12:01
系统: Ubuntu Lucid

Re: 关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

#6

帖子 zhangliyuan » 2013-09-02 12:53

可不可以提供一免费的ssh
XuQiankun
帖子: 33
注册时间: 2014-01-22 16:43
系统: Ubuntu

Re: 关于引起更新源索引时Hash Sum mismatch问题的真正原因及解决方案

#7

帖子 XuQiankun » 2014-10-10 10:10

终于找到真正原因了,从此更新无忧。 :em11
回复