Ubuntu更新软件源出现GPG error

本文介绍在Ubuntu系统中,当使用非官方源更新时遇到的公钥信任问题及解决方法。通过导入源公钥,可以有效解决sudo apt-get update时出现的信任错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误

我在Ubuntu上的 /etc/apt/sources.list加入源后执行sudo apt-get update出现下图错误:
这里写图片描述

原因

在sources.list文件中加入了非ubuntu官方源,所以认为加入源是不可信任的。

解决方法

导入该源公钥。E084DAB9为上图中公钥后八位

gpg --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
gpg --export --armor E084DAB9 | sudo apt-key add -

### 解决容器中 apt 更新时遇到的 GPG 错误 当在容器环境中使用 `apt` 进行软件包管理时,可能会遇到 GPG 错误。这些错误通常是因为缺少有效的 GPG 密钥或密钥已经过期所引起的。 #### 添加 Docker 官方 GPG 密钥 为了确保能够安全地从 Docker 的官方仓库下载软件包,在添加 Docker APT 源之前应该先导入其官方 GPG 密钥: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` 这条命令会获取并安装来自 Docker 的公钥到系统的受信任密钥环里[^1]。 #### 处理 GPG 密钥过期的情况 有时即使正确设置了 GPG 密钥也有可能因为密钥到期而导致验证失败。对于这种情况可以尝试更新现有的 GPG 密钥库或者重新导入最新的密钥: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <KEY_ID> ``` 这里的 `<KEY_ID>` 是指具体的密钥 ID 号码,可以通过查看 `/var/lib/apt/lists/*Release.gpg` 文件中的提示信息找到相应的密钥编号[^4]。 #### 使用国内镜像源减少网络问题带来的影响 考虑到国内外网环境差异较大,建议更换成更稳定的国内镜像站点作为 APT 软件源服务器。这不仅有助于加快下载速度还能有效降低由于网络波动造成的连接中断等问题的发生概率。例如阿里云提供了完整的 Ubuntu 和 Debian 系统及其衍生发行版所需的全部资源,只需修改配置文件 `/etc/apt/sources.list` 即可完成切换操作。 #### 修改 APT 源列表以适应旧版本系统的需求 如果正在使用的 Linux 发行版已经被官方停止维护,则可能需要调整 APT 源指向历史存档位置才能正常工作。比如针对 Jessie 版本的操作如下所示: ```bash mv /etc/apt/sources.list /etc/apt/sources.list.bak echo "deb http://archive.debian.org/debian/ jessie main" >> /etc/apt/sources.list echo "deb-src http://archive.debian.org/debian/ jessie main" >> /etc/apt/sources.list ``` 上述脚本首先备份了原始的 sources.list 文件以防万一;接着向新的 sources.list 中追加两行用于定义归档源的位置和组件名称[^3]。 通过以上措施应当能有效地解决大多数情况下由 GPG 认证引发的问题,并使得后续的 `apt-get update` 命令得以顺利执行。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值