欢迎光临
我们一直在努力

如何解决 仓库“http://mirrors.aliyun.com/ubuntu noble-security InRelease” 没有数字签名的问题

在配置高性能AI基础设施时,无论是安装NVIDIA驱动、CUDA工具包,还是Docker等关键组件,我们都会频繁使用Ubuntu的包管理器APT。然而,有时我们会遇到一个令人头疼的错误:仓库缺少数字签名(InRelease 文件无法验证)。这通常会阻止系统进行安全更新,进而影响后续所有依赖的安装。

本文将深入解析这一问题的根源,并提供针对 Ubuntu 24.04 (Noble) 等新版本系统的实操性解决方案,确保您的AI部署环境安全且稳定。

问题的根源:为什么需要数字签名?

APT(Advanced Package Tool)使用GPG(GNU Privacy Guard)公钥来验证从远程仓库下载的软件包和元数据(如 InRelease 文件)的真实性和完整性。如果系统无法找到对应的GPG公钥来验证下载文件的数字签名,它就会报错,并拒绝处理该仓库,这是出于系统安全考虑,防止恶意或篡改的软件包被安装。

对于官方仓库或受信任的镜像(如阿里云的 noble-security),通常是因为系统密钥环损坏或关键的 ubuntu-keyring 包未正确安装。

解决方案:导入或修复官方密钥环

您遇到的错误信息通常类似于:


1
2
3
4
5
6
$ sudo apt update
获取:1 http://mirrors.aliyun.com/ubuntu noble InRelease [329 kB]
忽略:2 http://mirrors.aliyun.com/ubuntu noble-security InRelease
错误:3 http://mirrors.aliyun.com/ubuntu noble-security InRelease
  仓库 “http://mirrors.aliyun.com/ubuntu noble-security InRelease” 没有数字签名。
N: 无法安全地用该仓库进行更新,所以默认禁用。

步骤一:尝试重新安装官方 Keyring (推荐做法)

对于官方 Ubuntu 仓库的签名缺失,最简单且最安全的做法是强制重新安装包含官方密钥的 ubuntu-keyring 包。这将修复任何可能损坏的密钥文件。


1
2
3
4
5
6
7
8
9
# 检查并安装必要的依赖,以防万一
sudo apt install --reinstall ca-certificates apt-transport-https

# 重新安装官方密钥环
sudo apt install --reinstall ubuntu-keyring

# 清理缓存并再次尝试更新
sudo apt clean
sudo apt update

如果重新安装 ubuntu-keyring 后问题解决,则可以跳过后续步骤。

步骤二:手动导入 Ubuntu Archive 签名密钥

如果 Keyring 修复不奏效,或者您在使用特定的非官方PPA时遇到此问题,您需要手动检索并导入缺失的密钥。对于官方 Ubuntu 仓库,我们通常需要导入主要的Ubuntu Archive Signing Key

Ubuntu 官方密钥通常托管在标准密钥服务器上。我们需要通过密钥ID(例如 3B4FE6ACC0B21F3240976EA50B8CB579)进行检索。

注意: 从 Ubuntu 20.04 开始,推荐使用 signed-by 机制,将密钥存储在 /usr/share/keyrings/ 目录下,并被 sources.list 文件明确引用,而不是使用已废弃的全局 apt-key

我们将使用 gpg 命令导入密钥到自定义位置,然后确保它存在。


1
2
3
4
5
6
7
8
9
# 1. 临时导入密钥到标准输出 (注意,这里使用了标准密钥ID)
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/ubuntu-archive-keyring.gpg --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 40976EA50B8CB579

# 2. 检查密钥是否成功导入
# 理想情况下,您应该能看到类似“Ubuntu Archive Automatic Signing Key”的输出
apt-key list | grep -E "3B4FE6ACC0B21F32|40976EA50B8CB579"

# 3. 再次尝试更新
sudo apt update

步骤三:检查 sources.list 文件 (高级排查)

如果上述步骤仍未解决问题,请检查您的 /etc/apt/sources.list 文件或 /etc/apt/sources.list.d/ 目录下的配置文件,确保它们正确地引用了您当前系统的代号(例如 noble),并且格式正确。

一个正确的阿里云镜像源配置示例(针对Noble 24.04):


1
/etc/apt/sources.list 示例

1
2
3
4
5
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
# 报错的 security 源
deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse

如果发现代号不匹配,请修改文件,然后再次运行 sudo apt update

总结

解决APT仓库数字签名问题是确保AI基础设施部署安全和稳定的第一步。通过重新安装 ubuntu-keyring 或手动导入官方归档密钥,我们能够恢复系统对软件包源的信任链。只有在确保了底层依赖环境的稳定性和安全性后,我们才能顺利进行更高层次的部署工作,例如安装 NVIDIA Container Toolkit 或配置复杂的模型服务框架。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » 如何解决 仓库“http://mirrors.aliyun.com/ubuntu noble-security InRelease” 没有数字签名的问题
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址