升级 dpkg 时出现哈希值不匹配的情况

升级 dpkg 时出现哈希值不匹配的情况

Hash sum mismatch升级时出现错误dpkg

以下是完整的输出:

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,084 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.3 [2,084 kB]
Err:1 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.3
  Hash Sum mismatch
Fetched 2,084 kB in 1s (1,045 kB/s)
E: Failed to fetch http://in.archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1.3_amd64.deb  Hash Sum mismatch

我尝试运行--fix-missing但结果是一样的:

$ sudo apt-get upgrade --fix-missing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,084 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.3 [2,084 kB]
Err:1 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.3
  Hash Sum mismatch
Fetched 2,084 kB in 1s (1,913 kB/s)
E: Failed to fetch http://in.archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1.3_amd64.deb  Hash Sum mismatch

我尝试了以下两个答案中建议的解决方案:

  1. https://askubuntu.com/a/41618/691133
  2. https://askubuntu.com/a/626961/691133

但无济于事。

还有其他解决办法吗?

答案1

也许您的 ISP 缓存了所有 http 传输,因此您可以尝试 https 镜像...

答案2

这与某种奇怪的网络问题有关(可能与路由器有关?),我通过另一个网络连接(即通过智能手机进行网络共享)连接了我的笔记本电脑,apt-get update 开始工作。如果我没有亲眼看到,我真不敢相信,等等……

并不是对此感到神秘,简而言之,我所说的就是检查您的互联网连接,也许尝试另一个连接,您的更新正在访问很多软件包站点,其中一些可能由于某种原因而被过滤,请检查导致问题的 URL。

根据经验,我不会乱动我的 sources.list,除非我非常清楚自己在做什么,而且只能通过给定的工具来操作,大多数情况下,这些工具不会出现在 sources.list 中,而是出现在 .d. 文件夹中的某个位置,这样它就不会覆盖任何依赖项,也不会在包树主干中引起问题。并且始终保持 apt-get update 正常运行,否则您将无法保持系统同步。

相关内容