apt-key 已废弃,Ubuntu 26.04 直接不能用!这样添加软件源才安全

最近装 Ubuntu 26.04 的朋友肯定发现了,以前常用的 apt-key 命令直接提示找不到,老教程里添加第三方软件源的方法一跑就报错。其实不只是 26.04,从 22.04 开始 apt-key 就被标记废弃,只是到了新版本彻底移除,连带旧的全局密钥方式也失效了。

简单说原因:原来的 apt-key 是把所有软件源的密钥放在一起,全局信任,安全风险很大。现在的规范是,一个源对应一个独立密钥,只信任自己的仓库,更安全也更规范。

现在正确的添加源方式(全版本通用,含 26.04)

先安装必要工具,并创建密钥目录:

sudo apt update
sudo apt install curl gnupg
sudo mkdir -p /etc/apt/keyrings

以后添加第三方源,统一用这一套流程,以 Docker 为例:

# 下载密钥并转换成 apt 支持的格式
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 给密钥加上可读权限(Ubuntu 26.04 必须加)
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 添加软件源
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

然后正常更新安装就行:

sudo apt update
sudo apt install docker-ce

重点就是 signed-by= 这一段,把源和密钥绑定,不混用、不全局信任,Ubuntu 20.04 到 26.04 都兼容。

老系统升级到 26.04 会遇到什么问题?

如果你是从旧版本升级上来,之前用 apt-key 添加的源,大概率会报错 NO_PUBKEY,因为 26.04 不再信任旧的全局密钥目录。

解决办法也很简单:把旧密钥导出来,放到 /etc/apt/keyrings,再给对应的源文件加上 signed-by 指向新密钥文件,更新一下就正常了。

几个小坑提醒一下

  • Ubuntu 26.04 里 apt-key 真的没了,别再折腾旧命令
  • 密钥文件一定要设权限 chmod a+r,不然签名验证失败
  • 不要再往 /etc/apt/trusted.gpg.d 放密钥,已经不推荐
  • 写脚本、做 Dockerfile 直接用上面这套新写法,一次到位

其实整个变化不难理解,就是从 “全局一把钥匙” 改成 “一个仓库一把钥匙”。记住 gpg --dearmor + /etc/apt/keyrings + signed-by 这三个关键点,以后不管是 22.04、24.04 还是最新的 26.04,添加第三方源都不会再出问题。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress