RUNBOOK / Ubuntu / apt
apt NO_PUBKEY:仓库签名密钥与 signed-by 修复
apt update 返回 NO_PUBKEY 或仓库签名无法验证。
故障现象与判断依据
最可能原因
这是信任链问题,不等同于下载超时;必须从仓库维护方取得并绑定正确的签名密钥。
LOGErr:1 http://archive.ubuntu.com/ubuntu noble InRelease
Temporary failure in name resolution
Reading package lists... Done安全诊断
以下命令用于读取状态、验证解析或复现请求;先确认目标主机、权限与影响范围。命令中的占位符必须替换为当前环境的实际值。
READ / VERIFYresolvectl status
getent hosts archive.ubuntu.com
apt-get update -o Debug::Acquire::http=true推荐修复步骤
- 1用 apt-get update 定位具体仓库与缺失 key 指纹。
- 2检查 sources.list.d 条目中的 signed-by 路径是否存在且可读。
- 3按该仓库官方文档更新 keyring,不使用废弃的全局信任导入。
验证、限制与回滚
修复后的验证
apt update 不再出现 NO_PUBKEY,目标仓库 Release 签名验证通过。
风险提示与回滚
不要以关闭证书校验、删除全部缓存、无限重试、关闭防火墙或放宽到 chmod 777 来替代根因定位。任何配置变更前先保留原文件和校验结果;若验证失败,恢复该备份并重新采集日志。
可信来源与适用边界
参考来源apt-secure(8) — apt — Debian trixie — Debian Manpages ↗
repository authentication and keyrings 此页将环境级案例与本 Runbook 的检查步骤分开呈现,不能把示例日志当作当前服务器的真实事件。