随着Debian/Ubuntu等发行版更新,apt-key命令已被正式弃用。这意味着以往使用apt-key add添加密钥的方式可能会在将来失效,甚至影响系统更新。本文将详细讲解如何使用GPG密钥管理替代apt-key,确保你的软件源验证和Linux系统安全不受影响。
执行apt-key list,你会看到类似如下的输出,显示了所有已导入的GPG密钥及其指纹。
/etc/apt/trusted.gpg--------------------pub rsa4096 2017-02-22 [SC] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88uid [ unknown] Docker Release (CE deb)...
以Docker密钥为例,记录其ID(如上8D81803C0EBFCD88),导出为ASCII文件:sudo apt-key export 0EBFCD88 > docker.asc然后使用gpg --dearmor转换为二进制格式:gpg --dearmor --output docker.gpg docker.asc
建议将转换后的GPG密钥文件放入/etc/apt/keyrings/目录(如不存在则创建):sudo mkdir -p /etc/apt/keyringssudo mv docker.gpg /etc/apt/keyrings/然后修改对应的source列表(如/etc/apt/sources.list.d/docker.list),添加signed-by选项:deb [signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu focal stable
以添加GitLab官方源为例,可以直接下载其GPG公钥并dearmor:wget -O - https://packages.gitlab.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/gitlab.gpg >/dev/null然后在sources.list中对应条目指定signed-by。这样就完全避免了使用apt-key。
确认所有源都已迁移后,可以删除旧密钥:sudo apt-key del "Docker Release"或通过指纹删除。
运行sudo apt update,确保没有GPG错误。如果一切正常,说明你的GPG密钥管理已成功替代apt-key。
通过以上步骤,你不仅解决了apt-key弃用带来的兼容性问题,还遵循了最新的软件源验证规范,提升了Linux系统安全性。未来在添加第三方源时,务必采用新的GPG直接管理方式。
本文由主机测评网于2026-02-26发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20260227368.html