讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么排查软件包哈希校验不一致无法安装

夜涛吖_3108

夜涛吖_3108

发布时间:2026-10-27 12:08:03

|

211人浏览过

|

来源于php中文网

原创

报错“THESE PACKAGES DO NOT MATCH THE HASHES”是pip哈希校验失败,主因包括官方包更新、镜像同步滞后、本地缓存损坏或网络中断;推荐先执行pip cache purge清理缓存,再用--no-cache-dir重装,或删requirements.txt中--hash行后安装。

linux怎么排查软件包哈希校验不一致无法安装

pip install 报错 “THESE PACKAGES DO NOT MATCH THE HASHES” 怎么办

这是 pip 在启用 --require-hashes 模式时的硬校验失败,不是警告,是直接中断安装。错误里会明确列出哪个包、期望的 sha256 值和实际算出的值——这两个字符串只要有一个字符不同,就说明文件内容已变。

常见原因包括:

  • PyPI 上该包被重新上传(同一版本号,但内容变更,比如修复了 CVE 后重发)
  • 你用了非官方镜像源,而该镜像同步滞后或缓存污染
  • 本地 pip 缓存中存了旧版或损坏的 wheel 文件
  • 网络代理/CDN 中途篡改或截断了下载流(尤其在企业出口或某些 ISP 环境下)

实操建议:

  • 先清缓存:pip cache purge,再重试安装
  • 强制跳过缓存重拉:pip install --no-cache-dir -r requirements.txt
  • 确认当前源地址:pip config get global.index-url,和项目文档要求的是否一致
  • 如果确定要更新哈希值(比如你信任新包),用 pip install --generate-hashes --dry-run -r requirements.txt 2>&1 | grep "sha256" 提取新哈希,手动替换或用脚本更新 requirements.txt

apt 下载 deb 包时提示 Hash Sum Mismatch 怎么定位

这类错误通常出现在 apt-get update 或 apt-get install 过程中,日志里会显示类似 Hash Sum mismatch 或 Failed to fetch ... Hash Sum mismatch。它和 pip 的哈希失败逻辑不同:apt 校验的是整个 Packages.gz 元数据文件或单个 .deb 的 SHA256 字段,不是用户可控的配置项。

真正的问题往往不在包本身,而在传输链路:

  • 本地 apt 缓存损坏:sudo apt clean 清空 /var/lib/apt/lists/ 和 /var/cache/apt/archives/
  • 代理或 ISP 中间设备(如透明代理、缓存网关)不支持 HTTP pipelining,导致响应体错乱 —— 此时需在 /etc/apt/apt.conf.d/99FixHashCheckSumError 中写入:
    Acquire::http::Pipeline-Depth "0";
    Acquire::http::No-Cache "true";
  • 源服务器返回了 304 Not Modified 但 ETag 不匹配,可临时禁用条件请求:Acquire::http::Redirections "0";

注意:不要盲目 apt --fix-missing install,它不会重校验元数据,可能跳过真正出问题的包。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

怎么验证一个已安装的 deb/rpm 包文件没被篡改

安装后的校验不是“多此一举”,而是确认 dpkg -i 或 rpm -ivh 过程是否完整落地。Linux 发行版原生提供对应命令,无需额外工具:

  • Debian/Ubuntu 系统:dpkg --verify 包名(输出为空表示全部文件 OK;dpkg --verify --show-files 包名 可看具体路径)
  • RHEL/CentOS/Fedora 系统:rpm -V 包名(输出如 S.5....T. c /etc/config.conf 表示 size、MD5、mtime 异常;. 表示正常)
  • 若只想查某个文件归属:dpkg -S /usr/bin/foo 或 rpm -qf /usr/bin/foo,再对其所属包做完整校验

这些命令校验的是包管理器数据库里记录的原始哈希(deb 用 md5sums,rpm 用 sha256),比手动 sha256sum 更可靠——因为它们还检查权限、属主、符号链接等元数据。

为什么自己用 shasum 算出来的值和官方公布的对不上

最常踩的坑是:没注意下载的是源码包(.tar.gz)还是二进制分发包(.whl、.deb、.rpm),或者解压后去校验子目录里的文件。官方发布的 SHA256SUMS 文件,几乎总是针对**原始下载文件本身**,而不是解压后的内容。

正确做法:

  • 确保你 shasum -a 256 foo.tar.gz 算的是那个刚下载完、未经任何处理的文件
  • 确认下载过程没被浏览器自动解压(比如 Chrome 对 .zip 的默认行为)
  • 核对大小:ls -l foo.tar.gz 和官网标称 size 是否一致,不一致直接重下
  • 若官网只提供 GPG 签名(如 Linux 内核),应先用 gpg --verify SHA256SUMS.gpg SHA256SUMS 验证清单真伪,再用清单校验文件

哈希本身没有“复杂逻辑”,但传输、缓存、解压、权限继承这些环节,每一个都可能悄悄改变字节流。校验必须卡在「下载完成但尚未解压」这个瞬间,否则就失去了意义。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4250

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3593

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2833

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6950

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6602

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3793

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3285

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3519

2023.07.25

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

100

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux网络安全之防火墙技术汇总
Linux网络安全之防火墙技术汇总

共31课时 | 4.2万人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn