ubuntu sudo apt update W: GPG 错误:https://cdn-community-packages.deepin.com/deepin apricot InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 425956BB3E31DF51
时间: 2025-03-14 17:04:20 浏览: 67
### 解决方案
当在 Ubuntu 中使用 `apt` 更新时遇到 GPG 缺失公钥的错误,可以按照以下方式解决问题。
#### 添加缺失的 GPG 公钥
要解决此问题,可以通过命令行工具向系统添加所需的 GPG 公钥。以下是具体操作:
1. **通过 `apt-key` 工具添加公钥**
使用 `apt-key` 命令连接到密钥服务器并接收指定的公钥:
```bash
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 425956BB3E31DF51
```
如果上述命令失败,可能是因为网络不稳定或目标密钥服务器不可达。此时可尝试其他密钥服务器,例如 Deepin 官方密钥服务器:
```bash
sudo apt-key adv --keyserver keyserver.deepin.com --recv-keys 425956BB3E31DF51
```
2. **手动下载并导入公钥文件**
若以上方法仍不成功,可以选择手动获取公钥文件并通过 `gpg` 进行导入:
```bash
wget https://mirrors.aliyun.com/deepin/project/deepin-keyring.gpg
gpg --import deepin-keyring.gpg
sudo gpg --export --armor 209088E7 | sudo apt-key add -
```
3. **验证公钥是否已成功添加**
执行以下命令来确认所需公钥已被正确添加至系统中:
```bash
sudo apt-key list
```
输出应显示包含 `425956BB3E31DF51` 的条目[^3]。
4. **更新软件包索引**
成功添加公钥后,重新运行 `apt update` 来刷新本地软件包缓存:
```bash
sudo apt update
```
---
#### 处理镜像源中的 404 错误
如果除了 GPG 公钥问题还存在某些源返回 404 错误,则需检查 `/etc/apt/sources.list` 文件及其子目录下的配置文件是否有失效的 URL 或版本号。推荐替换为更稳定的国内镜像站点,例如阿里云、清华大学 TUNA 镜像站等。
编辑源列表文件:
```bash
sudo nano /etc/apt/sources.list
```
将相关内容修改为如下形式(以阿里云为例):
```plaintext
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
...
```
保存更改后再次执行 `sudo apt update` 即可完成同步。
---
### 注意事项
- 确保互联网连接正常,尤其是访问国外资源时可能存在延迟或受限情况。
- 对于特定第三方 PPA 源,请优先查阅其官方文档了解最新支持状态及替代解决方案[^2]。
---
阅读全文