Ubuntu 18.04添加GPG密钥失败,出现gpg-agent未找到错误如何解决?
解决Ubuntu 18.04基础镜像中
apt-key add时gpg-agent缺失的错误 我之前在把基础镜像切换到稳定版Ubuntu 18.04的时候,也碰到过一模一样的gpg-agent报错问题——这是因为Ubuntu 18.04的最小化基础镜像默认没预装gnupg-agent包,而apt-key add执行时会依赖它,才会出现找不到代理的报错。给你几个亲测有效的解决办法:
方法1:先补装缺失的依赖包
先更新软件源并安装所需依赖,之后再执行密钥添加操作:
apt-get update && apt-get install -y gnupg gnupg-agent # 接着执行密钥添加 apt-key add apt-key.gpg
方法2:绕开apt-key,直接用gpg导入密钥(推荐)
现在官方更推荐直接用gpg将密钥导入到/etc/apt/trusted.gpg.d/目录下的独立keyring文件,这种方式不依赖gpg-agent,也更贴合后续版本的规范:
# 把your-repo-name替换为你的仓库名称,方便后续管理密钥 gpg --no-default-keyring --keyring /etc/apt/trusted.gpg.d/your-repo-name.gpg --import apt-key.gpg
如果密钥是从网络获取的,还可以用管道一步完成:
curl -fsSL https://你的密钥地址.gpg | gpg --no-default-keyring --keyring /etc/apt/trusted.gpg.d/your-repo-name.gpg --import -
方法3:Dockerfile场景下优化镜像体积
如果是构建Docker镜像时遇到这个问题,可以把安装依赖、添加密钥、清理依赖的步骤合并成一层,避免镜像体积膨胀:
RUN apt-get update && apt-get install -y --no-install-recommends gnupg gnupg-agent \ && apt-key add apt-key.gpg \ && apt-get purge -y --auto-remove gnupg gnupg-agent \ && rm -rf /var/lib/apt/lists/*
内容的提问来源于stack exchange,提问作者Rui Yang
相关产品推荐
相关产品推荐

