执行 apt-get update 时出现“哈希总和不匹配”错误

执行 apt-get update 时出现“哈希总和不匹配”错误

特定文件导致此错误,例如

Err:7 http://in.archive.ubuntu.com/ubuntu bionic/main i386 Packages 

Err:4 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages

我已经尝试了类似问题中发布的所有解决方案,但似乎仍然会发生这种情况。

我尝试过解决以下问题但仍然没有成功: 由于哈希值不匹配,sudo apt-get update 失败

更新时出现“哈希总和不匹配”错误

“apt-get update”总是无法获取

另外,我使用了代理,因此我添加了以下几行etc/apt/apt.conf

Acquire::http::proxy "http://<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<proxy>:<port>/";
Acquire::https::proxy "https://<proxy>:<port>/";`

答案1

我没有很好的解释为什么这可能有用,但它只是做过对我来说,当我尝试执行sudo apt install emacs25或时遇到这些错误sudo apt-get install emacs25。因此,如果它对其他人有用:

此次安装emacs25/bionic,now 25.2+1-6 amd64需要几个依赖包,分别是:

  1. emacs25-bin-common/bionic,now 25.2+1-6 amd64
  2. emacs25-common/bionic,bionic,now 25.2+1-6 all
  3. emacs25-el/bionic,bionic,now 25.2+1-6 all
  4. emacsen-common/bionic,bionic,now 2.0.8 all

我想看看我是否可以缩小特定问题文件的范围,因为它们都抛出了哈希总和错误,所以我尝试安装emacs25-common。同样的问题(尽管它依赖于上面编号的所有其他三个文件)。

然后我尝试了sudo apt install emacs25-el。这有效,奇怪的是,第一个依赖项安装的是emacs25-common— 我刚刚尝试安装但没有成功的那个。它emacs25-common和其他三个包(除了emacs25它自己)都成功安装了。

然后我就这么做了sudo apt install emacs25。这也奏效了。

所以这是巫术,但我建议先尝试单独安装依赖项,尝试不同的依赖项,直到安装一个,然后再试一次。

我的猜测可能是服务器端的某些内容被缓存了,而破坏了正常的请求顺序,导致了缓存未命中,从而允许对原始文件进行重新校验,但这完全是瞎猜。

(完成上述操作后,我就能sudo apt install emacs25-common-non-dfsg毫无问题地安装建议的包了。)

相关内容