Linux系统APT包管理工具 apt update错误的解决!
在运行 apt update 命令时候,出现类似警告:
W: http://raspbian.raspberrypi.com/raspbian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
遇到的警告信息是由于 APT 软件源密钥管理方式的变化引起的。以下是问题的解释和解决方法:
问题原因
- 旧版 Debian/Ubuntu 使用
/etc/apt/trusted.gpg统一存储所有软件源的 GPG 密钥。 - 新版系统(如 Debian Bookworm)推荐将每个软件源的密钥单独存储在
/etc/apt/trusted.gpg.d/目录中,并废弃了旧方法。 - 你的系统中某些软件源密钥仍存储在旧的
trusted.gpg中,因此触发警告。
解决方法
推荐方法一
方法一、可以直接从 Raspbian 官网获取新密钥:
wget -qO- https://archive.raspbian.org/raspbian.public.key | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/raspbian.gpg
完成后再次运行 sudo apt update 验证警告解决。
注意事项
- 密钥安全性:确保新密钥文件权限为
644(命令:sudo chmod 644 /etc/apt/trusted.gpg.d/raspbian.gpg)。 - 多架构支持:如果你同时使用
armhf和arm64,需确认密钥是否兼容。
方法二、需将旧密钥迁移到新位置,步骤如下:
1. 找到受影响的密钥
从警告信息看,问题出在 http://raspbian.raspberrypi.com/raspbian 的密钥。你需要找到该源的 GPG 密钥。
2. 导出旧密钥
运行以下命令导出密钥(需替换实际的密钥ID):
sudo apt-key export <KEY_ID> | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/raspbian.gpg
如果不知道密钥ID,可通过以下方式查找:
sudo apt-key list
# 找到与 "raspbian.raspberrypi.com" 相关的密钥ID(例如:ABCD1234)
3. 更新软件源配置
编辑对应的软件源文件(通常位于 /etc/apt/sources.list 或 /etc/apt/sources.list.d/ 目录),在软件源地址后添加 signed-by 参数:
# 示例(修改前):
deb http://raspbian.raspberrypi.com/raspbian bookworm main
# 修改后:
deb [signed-by=/etc/apt/trusted.gpg.d/raspbian.gpg] http://raspbian.raspberrypi.com/raspbian bookworm main
4. 删除旧密钥(可选)
确保新密钥生效后,可删除旧密钥:
sudo apt-key del <KEY_ID>
5. 更新软件列表
sudo apt update
此时警告应已消失。

浙公网安备 33010602011771号