你想修复的是 Ubuntu 22.04 中 NVIDIA CUDA 源的 GPG 密钥警告,这个警告是因为 Ubuntu 22.04 不再推荐使用
/etc/apt/trusted.gpg 存储密钥,而是要求将密钥放到 /etc/apt/trusted.gpg.d/ 目录下,我会一步步教你彻底解决这个问题,操作简单且安全。一、修复思路
- 先导出原有的 NVIDIA GPG 密钥;
- 将密钥移动到 Ubuntu 22.04 推荐的目录;
- 清理旧的密钥引用,更新 apt 缓存,验证警告是否消失。
二、具体修复步骤(复制粘贴即可)
1. 第一步:查看并导出 NVIDIA 的 GPG 密钥
先执行命令找到 NVIDIA 密钥的 ID(执行后会输出一串 8 位字符,比如
7FA2AF80):bash
运行
# 列出已有的 NVIDIA 密钥
apt-key list | grep -i nvidia
然后导出这个密钥(把下面命令中的
YOUR_KEY_ID 替换成上面查到的 8 位字符,比如 7FA2AF80):bash
运行
# 导出密钥到指定目录
sudo apt-key export YOUR_KEY_ID | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/nvidia-cuda.gpg
示例(如果密钥 ID 是 7FA2AF80):
bash
运行
sudo apt-key export 7FA2AF80 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/nvidia-cuda.gpg
2. 第二步:删除旧的 legacy 密钥(可选,彻底清理)
如果想彻底移除
/etc/apt/trusted.gpg 中的 NVIDIA 密钥,执行:bash
运行
# 删除旧密钥(替换 YOUR_KEY_ID 为实际的 8 位字符)
sudo apt-key del YOUR_KEY_ID
3. 第三步:更新 apt 缓存,验证警告是否消失
bash
运行
# 更新 apt 缓存,检查是否还有警告
sudo apt update
执行后如果不再出现
Key is stored in legacy trusted.gpg keyring 相关警告,说明修复成功。三、备用方案(如果第一步没找到密钥 ID)
如果上面的步骤没找到密钥 ID,直接重新添加 NVIDIA 官方密钥到正确目录:
bash
运行
# 下载并添加 NVIDIA GPG 密钥到 trusted.gpg.d
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/nvidia-cuda.gpg
# 重新添加 CUDA 源(确保源配置正确)
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" | sudo tee /etc/apt/sources.list.d/nvidia-cuda.list
# 更新 apt 缓存
sudo apt update
四、关键说明
- 为什么会出现这个警告?Ubuntu 22.04 弃用了
/etc/apt/trusted.gpg(全局密钥环),要求每个软件源的密钥单独存放在/etc/apt/trusted.gpg.d/目录下,这样更安全、易管理。 - 修复后有什么影响?只是调整了密钥的存储位置,不会影响 NVIDIA 驱动 / CUDA 的正常使用,也不会改变你之前的风扇温控配置。
- 验证是否彻底修复再次执行
sudo apt update,如果没有出现关于trusted.gpg的警告,就说明修复完成。
总结
- 修复核心是将 NVIDIA 密钥从
/etc/apt/trusted.gpg迁移到/etc/apt/trusted.gpg.d/nvidia-cuda.gpg; - 优先用 “导出已有密钥” 的方式,找不到密钥 ID 再用 “重新添加密钥” 的备用方案;
- 修复后执行
sudo apt update验证,无相关警告即为成功。
如果操作后还有问题,或者想确认 NVIDIA 源是否配置正确,我可以再帮你检查。