Ubuntu22.04 apt update报错Hash校验失败解决方法
时间:2026-11-14 07:08 作者:emer 分类: Linux
前言
在 Ubuntu22.04 上执行 sudo apt update 时,经常出现 Hash Sum mismatch、Failed to fetch、校验失败之类的报错,软件包列表拉取不完整,后续 apt install 也会跟着失败。这类问题大多不是系统损坏,而是软件源缓存损坏、网络中断导致包列表残缺,或者所用镜像源本身同步不全。本文给出从清缓存、换国内源、校验修复到重装源列表的完整命令流程,适用于桌面版和服务器版 Ubuntu22.04。
操作步骤
1. 先清理损坏的本地缓存
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
第一条清空下载缓存,第二条删除残缺的索引列表,让 apt 重新拉取完整清单。
2. 查看报错里是哪个源失败
执行 apt update 时留意末尾报错的域名,例如 archive.ubuntu.com 或 security.ubuntu.com,先判断是官方源还是第三方 PPA 的问题。
3. 更换为国内镜像源(清华源示例)
先备份原文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑源列表:
sudo vi /etc/apt/sources.list
替换为清华镜像(jammy 对应 22.04):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
新版 Ubuntu 也可使用 /etc/apt/sources.list.d/ubuntu.sources,格式为 deb822,思路相同。
4. 重新拉取并更新
sudo apt update
sudo apt upgrade -y
5. 单独排查第三方 PPA
如果只有某个 PPA 报错,先禁用它:
sudo add-apt-repository --remove ppa:示例/ppa
sudo apt update
6. 必要时重新生成源列表
sudo rm -rf /etc/apt/sources.list.d/*
sudo apt update
常见坑
- 只执行 apt clean 不删除 lists,残缺索引还在,报错依旧。
- 换源后没更新,或者 jammy 写成了 focal(20.04),会报找不到包。
- 网络走代理但 apt 没配置代理,拉取官方源超时导致校验失败。
- 校园网或公司网关劫持,部分请求被截断,换国内直连源可绕过。
- 磁盘空间不足,索引下载到一半写盘失败,先 df -h 检查根分区。
- 多个 PPA 叠加,只报错其中一个,不要盲目删除全部源。
总结
Hash 校验失败的标准处理顺序是:清缓存删 lists → 换国内镜像源 → 单独排查 PPA → 必要时重建源列表。Ubuntu22.04 优先使用清华、阿里、中科大等稳定镜像,减少跨网同步不全的概率。修复后务必再次 apt update 确认无报错,再进行软件安装。
遇到问题加QQ23979811 协助处理