密钥环 /etc/apt/trusted.gpg 中的密钥将被忽略,因为该文件的文件类型不受支持

密钥环 /etc/apt/trusted.gpg 中的密钥将被忽略,因为该文件的文件类型不受支持

我正在运行 Debian 10。很长一段时间以来,我在更新存储库时遇到以下错误:

$ sudo apt update
Hit:1 http://security.debian.org buster/updates InRelease                        
Hit:2 http://deb.debian.org/debian buster InRelease                              
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: http://security.debian.org/dists/buster/updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg are ignored as the file has an unsupported filetype.
W: http://deb.debian.org/debian/dists/buster/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg are ignored as the file has an unsupported filetype.
W: http://deb.debian.org/debian/dists/buster-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg are ignored as the file has an unsupported filetype.

我如何阅读有关密钥的警告?

这里的内容是/etc/apt/sources.list

如果需要更多信息,请在评论中询问。

答案1

如果您在 中遇到此错误docker,问题在于较新的操作系统使用 docker 未正确传递的系统调用,这会导致像上面这样令人困惑的错误消息。

在这种情况下,迄今为止最简单的解决方案就是更新docker.

答案2

您还报告了此命令输出:

$ sudo apt-key --keyring /etc/apt/trusted.gpg list
/etc/apt/trusted.gpg
--------------------
pub rsa2048 2016-07-13 [SC]
6781 84F1 20A8 7A47 5F65 6972 6C0D AC72 8B29 D817
uid [ unknown] OpenFOAM Foundation <[email protected]>
sub rsa2048 2016-07-13 [E]

pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <[email protected]>
sub rsa4096 2017-02-22 [S]

并且该文件的类型不正确:

# file /etc/apt/trusted.gpg
/etc/apt/trusted.gpg: GPG keybox database version 1, created-at Thu Apr 4 13:19:16 2019, last-maintained Thu Apr 4 13:19:16 2019

而不是key public ring (v4)应有的样子。

结论是该文件由于某种原因已损坏。
很可能是因为当您手动安装 Docker 或 OpenFOAM(上面报告的密钥)时某些命令失败。


解决方案很简单:

  • 删除文件(好吧,将其移动到其他地方进行备份)
  • 重新添加值得信赖的

您报告的docker密钥:9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

可以通过以下方式重新添加到可信密钥数据库:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

正如本网页所解释的

请务必重新检查调号。

但另一个关键指纹:6781 84F1 20A8 7A47 5F65 6972 6C0D AC72 8B29 D817

没有出现在互联网上的任何地方,我不会信任这样的密钥。
不要尝试重新安装它。

如果需要,请找到在 Debian 中安装 OpenFOAM 的正确指南。

祝你好运。

注意:盲目安装密钥(任何密钥)都是一个非常糟糕的主意,这是验证系统中安装的内容的方式。如果要验证的密钥来自不受信任的来源,则所有已安装的软件包(以及整个系统)将不再受信任。你被警告了 !!。

添加:

OpenFOAM 在 Debian 中有一个软件包,无需手动安装任何外部密钥。这提高了警告级别。

您还记得安装该密钥吗?如果没有,请重新安装您的 Debian。

答案3

我通过运行以下命令解决了这个问题:

  curl -s https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker.gpg

这会将密钥插入到 trust.gpg

相关内容