You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
Linux操作系统问题
如何解决Debian security APT软件源Release/InRelease文件过期问题?
复制全文
下载 pdf
如何解决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)校验来源、签名和元数据状态。部分软件源会在元数据中设置以下时间字段:​
​
字段​
说明​
Date​
元数据的生成时间。​
Valid-Until​
元数据的有效期截止时间。超过该时间后,APT默认拒绝继续使用该索引,以降低旧仓库元数据被重放的风险。​
​
当满足如下任一条件时,APT会判定该软件源的Release/InRelease文件“已过期”并拒绝使用:​
  • 软件源上游未按时重新生成元数据(如发布流程延迟、镜像同步滞后),导致Valid-Until早于当前时刻。​
  • 本机系统时钟异常,且系统时间快于实际时间,导致APT误判当前系统时间已超过Valid-Until。​
解决方案​
本节为您提供关闭故障源的有效期校验,规避报错问题的方案。适用于上游尚未恢复、但业务必须立即安装或更新软件包的场景。​
注意​
关闭有效期校验会削弱对旧仓库元数据重放的防护,执行前请确认软件源可信、故障范围明确,并记录所修改的条目。​
  1. 请根据报错提示,确认有问题的软件源及其所在的配置文件,通常为/etc/apt/sources.list或/etc/apt/sources.list.d/*.list。​
  1. 执行如下命令,备份软件源配置。​
说明​
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。​
  • ​
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak​
    ​
  1. 关闭故障源有效期校验。​
  1. 执行如下命令,编辑软件源配置文件。​
说明​
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。​
  • ​
    vim /etc/apt/sources.list​
    ​
  1. 按i键进入编辑模式,在目标故障源deb或deb-src条目的URL前添加[check-valid-until=no]选项。​
说明​
若该源条目已有其他选项(如[arch=amd64]),请将check-valid-until=no合添加至已有选项模块内并以空格分隔,例如[arch=amd64 check-valid-until=no])。​
  • ​​​
  1. 按esc键退出编辑模式,输入:wq按回车键,保存并退出文件。​
  1. 执行如下命令,验证是否可以正常进行更新操作。​
  • ​
    sudo apt update​
    ​
  • 若APT不再出现过期报错,表示已成功关闭故障源的有效期校验。​
  • ​​​
  1. 后续,您可以按需回滚软件源配置或重新启用元数据有效期检查。​
  • 回滚配置​
  • 若上述修改导致新的问题或您需要回滚配置,请执行如下命令,使用备份文件进行回滚。​
说明​
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。​
  • ​
    sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list​
    ​
  • 重新启用元数据有效期检查​
  • 当您确认软件源上游已发布新的Release/InRelease文件后,建议您移除[check-valid-until=no]配置,重新启用元数据有效期检查。​
  1. 执行如下命令,编辑软件源配置文件。​
说明​
请将/etc/apt/sources.list替换为实际软件故障源所在配置文件路径。​
  • ​
    vim /etc/apt/sources.list​
    ​
  1. 按i键进入编辑模式,删除目标源deb或deb-src条目的URL前添加的[check-valid-until=no]选项。​
  1. 按esc键退出编辑模式,输入:wq按回车键,保存并退出文件。​
  1. 执行如下命令,确认软件源可用,且没有再次出现过期报错。​
  • ​
    sudo apt update​
    ​
最近更新时间:2026.09.07 17:32:28
这个页面对您有帮助吗?
有用
有用
无用
无用