sudo apt-get update 由于哈希值不匹配而失败

sudo apt-get update 由于哈希值不匹配而失败

当我运行时,sudo apt-get update我收到四个哈希总和不匹配错误:

W: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-amd64/Packages  Hash Sum mismatch    
W: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-amd64/Packages  Hash Sum mismatch    
W: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-i386/Packages  Hash Sum mismatch    
W: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-i386/Packages  Hash Sum mismatch

我尝试用以下方法修复此问题

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update 

但那没有用,也没有

sudo apt-get clean
sudo apt-get update

或者

sudo apt-get dist-upgrade
sudo apt-get update

我可以尝试其他方法来解决此问题吗?

答案1

在终端中运行这些命令1

sudo apt-get clean

sudo rm -r /var/lib/apt/lists/*

这对我有用。:-)

参考

答案2

通常切换到另一个镜像就可以解决问题。在 GUI 中很容易,但我怀疑您需要 CLI 解决方案。

sudo sed -i 's|http://us.|http://|g' /etc/apt/sources.list编辑您的 sources.list 以使用来自美国镜像的主服务器。您可以替换其他镜像,sudo sed -i 's|http://us.|http://fr.|g' /etc/apt/sources.list选择法国服务器,从美国服务器开始。

如果您像第一行一样切换到主服务器,请注意,简单地交换搜索和替换术语以恢复美国镜像会破坏您的 security 和 extras 存储库(如果您使用它们)。您需要运行第二行sudo sed -i 's|http://us.security|http://security|g' /etc/apt/sources.list来解决这个问题,重复执行 extras 而不是 security。

答案3

手动下载正在获取的软件包哈希值不匹配错误并将它们复制到

/var/cache/apt/archive

然后再次运行

apt-get install <package-name>

现在它应该可以正确运行了。

相关内容