- 文档首页
云服务器
云服务器ECS
故障处理
操作系统问题
Linux操作系统问题
如何解决Debian security APT软件源Release/InRelease文件过期问题?
Linux操作系统问题
如何解决Debian security APT软件源Release/InRelease文件过期问题?
如何解决Debian security APT软件源Release/InRelease文件过期问题?
在Debian操作系统中,通过APT(Advanced Package Tool,软件包管理工具)执行 apt update 或 apt-get update 命令时,软件源可能因Release/InRelease文件元数据超过有效期而被拒绝使用。
报错示例:
E: Release file for http://mirrors.example.com/debian-security/dists/bullseye-security/InRelease is expired Ginvalid since 18h 47min 0s). Updates for this repository will not be applied
出现该问题后,APT将无法加载故障源的软件包索引,依赖该源的软件包也就无法检索、安装或升级。在镜像构建、CI/CD或自动化运维场景中,可能直接导致任务失败。
APT会读取软件源的Release/InRelease文件,并通过APT的安全机制(apt-secure)校验来源、签名和元数据状态。部分软件源会在元数据中设置以下时间字段:
当满足如下任一条件时,APT会判定该软件源的Release/InRelease文件“已过期”并拒绝使用:
- 软件源上游未按时重新生成元数据(如发布流程延迟、镜像同步滞后),导致Valid-Until早于当前时刻。
- 本机系统时钟异常,且系统时间快于实际时间,导致APT误判当前系统时间已超过Valid-Until。
本节为您提供关闭故障源的有效期校验,规避报错问题的方案。适用于上游尚未恢复、但业务必须立即安装或更新软件包的场景。
注意
关闭有效期校验会削弱对旧仓库元数据重放的防护,执行前请确认软件源可信、故障范围明确,并记录所修改的条目。
- 请根据报错提示,确认有问题的软件源及其所在的配置文件,通常为/etc/apt/sources.list或/etc/apt/sources.list.d/*.list。
说明
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
说明
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。
vim /etc/apt/sources.list
- 按i键进入编辑模式,在目标故障源deb或deb-src条目的URL前添加[check-valid-until=no]选项。
说明
若该源条目已有其他选项(如[arch=amd64]),请将check-valid-until=no合添加至已有选项模块内并以空格分隔,例如[arch=amd64 check-valid-until=no])。
-
- 按esc键退出编辑模式,输入:wq按回车键,保存并退出文件。
- 若APT不再出现过期报错,表示已成功关闭故障源的有效期校验。
-
- 后续,您可以按需回滚软件源配置或重新启用元数据有效期检查。
- 若上述修改导致新的问题或您需要回滚配置,请执行如下命令,使用备份文件进行回滚。
说明
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。
sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
- 当您确认软件源上游已发布新的Release/InRelease文件后,建议您移除[check-valid-until=no]配置,重新启用元数据有效期检查。
说明
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。
vim /etc/apt/sources.list
- 按i键进入编辑模式,删除目标源deb或deb-src条目的URL前添加的[check-valid-until=no]选项。
- 按esc键退出编辑模式,输入:wq按回车键,保存并退出文件。
- 执行如下命令,确认软件源可用,且没有再次出现过期报错。
最近更新时间:2026.09.07 17:32:28