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 国家代码替换。