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

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

apt update当我尝试通过或更新包列表时,apt-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 衍生版本,也没有出现任何错误。这个错误的原因是什么?

编辑:为了重复标记,主题名称解决的是不同的问题,而不是所引用的哈希和问题。

答案1

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

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

只需在你的终端运行这个命令它就可以正常工作

答案2

我认为您在更新时访问了本地存储库镜像。请等待一段时间(通常 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 国家代码替换。

相关内容