麒麟OS更新提示“签名无效”是因APT验证GPG签名失败,主因包括系统时间偏差超±5分钟、软件源地址不合规(须用HTTPS及V10-SPT2路径)、密钥环缺失或损坏;需依次校准时间、更新源配置、重装kylin-signature-keyring。

麒麟OS系统更新时提示“签名无效”,说明APT在验证软件源GPG签名时失败,无法确认包来源可信性,更新流程被主动中止。该错误常见于时间偏差、密钥环缺失、源地址协议不匹配或证书校验机制触发拦截。
检查并校准系统时间
签名验证依赖UTC时间戳,若系统时间与标准时间偏差超过±5分钟,会导致签名被判定为“已过期”或“尚未生效”。
执行 timedatectl status,重点查看 “System clock synchronized” 是否为 yes,以及 “RTC time” 是否接近当前真实时间。
若显示 no 或时间明显偏移,立即运行 sudo timedatectl set-ntp true 启用网络时间同步。
【必须等待至少30秒再验证】 NTP同步不是瞬时完成的,强行下一步将导致重试仍失败。
确认软件源配置是否合规
旧版源地址(如 archive.kylinos.cn)已下线,继续使用会返回404或触发HTTPS证书校验失败,间接表现为“签名无效”。
第一步:列出当前所有源文件:ls /etc/apt/sources.list.d/
第二步:检查是否存在含 v10sp12403 或 V10-SPT2 字样的有效源;若只有 focal、bionic 或 kylin-all 等非标命名,需替换。
第三步:备份原配置后新建合规源文件:sudo gedit /etc/apt/sources.list.d/v10sp12403.list,写入以下内容(x86_64平台):
deb https://mirrors.kylinos.cn/kylin/V10-SPT2/main/x86_64/ main universe multiverse restricted
【路径中必须含 V10-SPT2,且协议必须为 HTTPS】 使用 HTTP 或错写为 KYLIN-ALL 将直接导致证书验证失败或索引缺失。
修复或重装麒麟签名密钥环
方法一:确认密钥文件是否存在
运行 ls /usr/share/keyrings/kylin-*.gpg,正常应返回类似 /usr/share/keyrings/kylin-signature-keyring.gpg 的路径。
方法二:若无输出或报错“no such file”,说明密钥环已损坏或未安装,执行:
sudo apt update && sudo apt install --reinstall kylin-signature-keyring
方法三:安装完成后,清除APT缓存并强制刷新索引:
sudo rm -rf /var/lib/apt/lists/* && sudo apt clean && sudo apt update
临时绕过签名检查(仅限可信离线调试)
方法一:命令行单次跳过校验
执行 sudo apt install ./xxx.deb --allow-unauthenticated,该参数仅对本次安装生效,不修改系统全局策略。
方法二:禁用APT有效期检查(高风险)
临时写入配置:echo 'Acquire::Check-Valid-Until "false";' | sudo tee /etc/apt/apt.conf.d/99no-check-valid-until
【安装完成后必须立即删除该文件】 删除命令:sudo rm /etc/apt/apt.conf.d/99no-check-valid-until。长期保留将导致系统无法识别仓库签名过期风险。

















