APT更新失败:写入的数据超出预期

当尝试通过apt updateapt-get update更新包列表时,我收到以下错误:

 E: Failed to fetch http://lt.archive.ubuntu.com/ubuntu/dists/xenial/universe/dep11/Components-amd64.yml.gz Hash Sum mismatch E: Failed to fetch http://lt.archive.ubuntu.com/ubuntu/dists/xenial/universe/dep11/icons-64x64.tar Writing more data than expected (7468511 > 7467723) [IP: 193.219.61.87 80] 

这在某种程度上与本地化的包装经销商有关,还是我一直都是? 我正在运行beta2版本,我昨天已成功安装和更新(没有任何错误提示)。 以前我使用的是14.04衍生产品,也没有出现任何错误。 这个错误的原因是什么?

编辑:要复制标记,主题名称解决了一个不同的问题,而不是正在引用的哈希和问题。

我想你在更新时一直在访问本地repo镜像。 等一段时间(通常1小时就足够了)再重试一次。 这可能发生在所有实时版本中,而不仅仅是16.04(尚未正式发布,正如其他人所评论的那样)。

作为一个选项,您可以编辑/etc/apt/sources.list以使用您喜欢的编辑器删除“lt”前缀或使用

 sudo sed -i 's/http:\/\/lt\./http:\/\//g' /etc/apt/sources.list 

这将使您以较慢的访问为代价访问主存储库。

当然,您可以将lt替换为您自己的ISO 3166-1 alpha-2国家/地区代码。

添加一个参数,为http / https请求添加“无缓存”标头。 它要求apt服务器提供未缓存的文件。 如果您的计算机和apt镜像/服务器之间存在任何类型的(损坏的)缓存机制,这将非常有用。 (如ISP等代理,透明缓存)

 sudo apt -o Acquire::https::No-Cache=True -o Acquire::http::No-Cache=True update 

只需在您的终端中运行此命令,它应该可以正常工作