为什么通过代理更新会导致哈希总和不匹配错误,而直接使用 WiFi 却没有问题?

为什么通过代理更新会导致哈希总和不匹配错误,而直接使用 WiFi 却没有问题?

这从 Ubuntu 14.04 LTS 版本开始。

我在办公室使用 Ubuntu,互联网通过代理服务器运行。

以前,我只需从终端发出常规更新命令即可。

但是从 14.04 LTS 开始,即使是更新系统这样简单的任务都变得极其困难。

每次我尝试从代理后面更新系统时,都会收到“哈希值不匹配”的错误。

有趣的是(令我沮丧的是)当我使用手机的 wifi 直接连接到互联网时,更新工作完全正常。

我尝试了所有建议的解决方法来缓解哈希值不匹配错误。但都不起作用。

我怀疑我们的代理配置有问题。如果不是,我真的很希望有人能帮我。谢谢。

答案1

运行更新时,Debian/Ubuntu 将首先从以下 URL 下载有关软件包的所有元数据列表:

http://us.archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/Packages.gz

每个包都会包含类似这样的内容:

Package: aodh-common
Architecture: all
Version: 6.0.0-0ubuntu1
Priority: optional
Section: web
Source: aodh
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: PKG OpenStack <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 97
Depends: adduser, dpkg-dev, python-aodh (= 6.0.0-0ubuntu1), python:any
Filename: pool/main/a/aodh/aodh-common_6.0.0-0ubuntu1_all.deb
Size: 17760
MD5sum: 8f0c651bcc7369034fea6c28653f51b9
SHA1: 7fc8dd248a5139f0f7dd3be5a49614c1b9af7186
SHA256: 98cbde3960701b083bc6744cb57fa2b3946d4d5f6c71512e2265f762d4650a3e
Homepage: https://github.com/openstack/aodh
Description: OpenStack Telemetry (Ceilometer) Alarming - common files
Description-md5: 4d4a9638c22eafe95e8cdbfdae651022

对于此包,它将下载此 URL:

http://us.archive.ubuntu.com/ubuntu/pool/main/a/aodh/aodh-common_6.0.0-0ubuntu1_all.deb

然后它将检查其 SHA256 哈希值,类似于这样做:

$ sha256sum aodh-common_6.0.0-0ubuntu1_all.deb 
98cbde3960701b083bc6744cb57fa2b3946d4d5f6c71512e2265f762d4650a3e  aodh-common_6.0.0-0ubuntu1_all.deb

您的代理正在修改破坏完整性哈希校验的数据,因为内容已被更改。您应该逐步手动运行这些命令,例如通过浏览器下载文件并sha256sum在命令行上运行以查看哈希是否匹配。

接下来,您应该查看这些文件之间到底有什么不同以及不同原因。您的代理可能能够确定 .deb 文件是一个使用 gzip 压缩并重新打包内容的“存档”,即使在这种情况下这看起来相当愚蠢,但它可以用于病毒/恶意软件扫描实用程序。

假设您有两个 .deb 文件,一个是通过损坏的代理下载的,另一个是通过正常工作的连接下载的。您可以通过解压它们并diff在两个目录上运行来比较这两个文件,以查看哪些文件(如果有)不同。如果 diff 没有输出差异,那么很可能是代理正在重新打包。如果 diff 输出了某些内容,请检查差异是什么,然后为什么您的代理正在进行此类更改,因为除了可用性问题之外,这还可能存在安全问题。

答案2

也许检查你的来源列表

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

然后:

sudo apt-get update

如果不连接代理,您是否会遇到同样的错误?尝试关闭,可能是配置不正确

相关内容