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衍生产品,也没有出现任何错误。 这个错误的原因是什么?
编辑:要复制标记,主题名称解决了一个不同的问题,而不是正在引用的哈希和问题。
我想你在更新时一直在访问本地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
只需在您的终端中运行此命令,它应该可以正常工作