Manage keyring files in trusted.gpg.d instead (see apt-key(8)). gpg: 找不到有效的 OpenPGP 数据。
时间: 2025-01-09 09:54:21 浏览: 3
### 解决方案
当遇到 `gpg: 找不到有效的 OpenPGP 数据` 错误时,这通常意味着 GPG 未能正确处理导入的密钥。为了在 `trusted.gpg.d` 中管理 keyring 文件并解决此问题,可以按照以下方法操作。
#### 方法一:使用 `apt-key adv`
推荐的方法是通过 `apt-key adv` 命令来添加仓库密钥,而不是直接下载 GPG 密钥文件再尝试将其加入 APT 的信任库中:
```bash
sudo apt-get update && sudo apt-get install -y gnupg2 pass
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FCEF32E79C0F6CAADCF5C26E1B8BEDDCC6CEECDD
```
上述命令会连接到 Ubuntu 官方密钥服务器获取指定 ID 的密钥,并自动配置好环境以便后续能正常工作[^1]。
#### 方法二:手动保存密钥至 `/usr/share/keyrings/`
另一种更现代的方式是将密钥存储于特定位置 (`/usr/share/keyrings`) 并更新源列表中的签名方式:
1. 下载 Docker 官方发布的最新版本对应的 ASC 文件作为验证依据;
```bash
curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" -o docker.asc
```
2. 将该 ASC 文件转换成 `.gpg` 格式的密钥环文件;
```bash
gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ./docker.asc
```
3. 修改或创建新的APT源条目指向新建立好的密钥环路径:
```bash
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```
这种方法不仅解决了原有错误提示,还遵循了最新的最佳实践指南[^2]。
#### 验证安装
完成以上任一步骤之后,可以通过执行如下命令来确认是否已经成功加入了所需的GPG密钥:
```bash
apt-cache policy | grep 'http.*docker'
```
如果一切顺利的话,则应该能看到类似于下面这样的输出结果,表明系统已识别来自 Docker 的软件包及其关联的安全信息。
阅读全文