麒麟V10换源后执行 `apt update` 报错 “Invalid signature”(无效签名),主因是新源未同步或缺失对应GPG公钥,导致APT无法验证仓库元数据完整性。常见于手动替换为清华、中科大等第三方源,但未导入其签名密钥;或使用了已过期/不匹配的`kylin-signature-keyring`包;亦可能因系统时间严重偏差(±5分钟)引发签名校验失败。此外,部分镜像未完整同步麒麟官方仓库的`InRelease`/`Release.gpg`文件,也会触发该错误。解决需分步排查:先检查系统时间(`timedatectl status`),再尝试更新密钥(如`sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys `,注意新版APT已弃用`apt-key`,推荐用`gpg --dearmor`方式导入);最后确认所用源地址与麒麟V10 SP1/SP2版本严格匹配,避免混用Ubuntu源。务必优先参考麒麟官方《软件源配置指南》选用认证镜像。
1条回答 默认 最新
Airbnb爱彼迎 2026-02-28 15:50关注一、现象层:识别“Invalid signature”错误的典型表现
执行
sudo apt update后终端输出类似以下关键错误:W: GPG error: https://mirrors.tuna.tsinghua.edu.cn/kylin/ v10 InRelease: The following signatures were invalid: EXPKEYSIG 8E9B2347A5C32691 Kylin Linux Archive Automatic Signing Key (2022) <security@kylinos.cn> E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/kylin/ v10 InRelease' is not signed.该错误表明 APT 在解析
InRelease或Release.gpg文件时,无法完成 GPG 签名校验——这是安全机制的主动拦截,而非网络或权限问题。二、根因层:四维归因模型(时间|密钥|源版本|镜像完整性)
依据麒麟V10 SP1/SP2架构特性与APT信任链机制,可将根本原因结构化为如下四类:
维度 典型诱因 验证命令 风险等级 系统时间 硬件时钟漂移>±5分钟,导致 GPG 签名时间戳校验失败 timedatectl status | grep -E "(System clock|RTC time)"高 GPG 密钥 未导入清华/中科大等镜像站公钥;或 kylin-signature-keyring包版本过期(如 SP1 系统误装 SP2 的 keyring)apt list --installed | grep keyring&gpg -k | grep -i kylin极高 三、诊断层:标准化排查流程(含 Mermaid 可视化)
遵循「时间→密钥→源配置→镜像状态」递进逻辑,避免盲目操作:
graph TD A[执行 sudo apt update] --> B{报 Invalid signature?} B -->|是| C[timedatectl status
检查 ±5 分钟偏差] C -->|异常| D[systemctl restart systemd-timesyncd
timedatectl set-ntp true] C -->|正常| E[检查 /etc/apt/trusted.gpg.d/ 下 keyring 文件] E --> F[gpg --dearmor -o /usr/share/keyrings/kylin-archive-keyring.gpg
/tmp/kylin-release-key.asc] F --> G[验证源地址是否匹配 SP1/SP2:
v10/sp1 vs v10/sp2] G --> H[访问 https://mirrors.tuna.tsinghua.edu.cn/kylin/dists/v10/InRelease
确认 HTTP 200 且含有效签名块]四、修复层:符合 Debian Policy 与麒麟安全规范的操作范式
⚠️ 注意:自 Ubuntu 22.04 / Debian 12 起,
apt-key已被标记为 deprecated。麒麟V10(基于 Debian 10/11 衍生)推荐采用gpg --dearmor+keyring分离存储方式:- 下载清华镜像公钥:
wget -O /tmp/tuna-kylin-key.asc https://mirrors.tuna.tsinghua.edu.cn/kylin/kylin-archive-key.asc - 转换为二进制 keyring:
sudo gpg --dearmor -o /usr/share/keyrings/tuna-kylin-archive-keyring.gpg /tmp/tuna-kylin-key.asc - 更新
/etc/apt/sources.list,指定 keyring:deb [arch=amd64 signed-by=/usr/share/keyrings/tuna-kylin-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/kylin/ v10 main universe
五、治理层:构建可持续的源管理机制
面向企业级运维场景,建议落地三项长效机制:
- 源配置原子化:使用
apt-cacher-ng或apt-mirror构建本地缓存源,统一密钥注入与版本锁定; - 密钥生命周期管理:建立
/etc/apt/keyring-updates/目录,配合 cron 每月校验gpg --list-sigs与证书有效期; - 版本兼容性白名单:严格遵循《麒麟软件源配置指南》附录 A —— SP1 仅允许使用
v10/sp1路径,SP2 必须使用v10/sp2,禁止混用ubuntu或debian源。
所有操作均需在麒麟V10最小化安装环境(kernel 4.19+,apt 2.2.4+)下验证通过,并适配 aarch64/x86_64 双平台。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 下载清华镜像公钥: