如何信任apt信息库:Debian apt-get更新错误公共密钥不可用:NO_PUBKEY <id> [关闭]


72

尝试更新有关Debian Etch安装的某些存储库,并通过运行“ apt-get update”得到以下错误

W: GPG error: http://www.debian-multimedia.org etch Release: The following signatures couldn't be verified because teh public key is not available: NO_PUBKEY 07DC563D1F41B907
W: You may want to run apt-get update to correct these problems

具有讽刺意味的是,它指示我运行apt-get update是一个不错的选择。

Answers:


111

我发现有几篇文章告诉我要运行几个gpg命令,但是由于两件事,它们无法解决问题。首先,我在系统上缺少debian-keyring软件包,其次,我使用了无效的密钥服务器。如果超时,请尝试使用其他密钥服务器!

因此,我修复它的方式是:

apt-get install debian-keyring
gpg --keyserver pgp.mit.edu --recv-keys 1F41B907
gpg --armor --export 1F41B907 | apt-key add -

然后运行一个新的“ apt-get更新”就完美了!


9
您如何发现必须使用07DC563D1F41B907中的1F41B907?
— eddy147 2011年

5
刚刚尝试过,07DC563D1F41B907应该也可以正常工作(即服务器知道这一点)。顺便说一句,在较新的Ubuntu设置上,请尝试使用此处描述的命令:answers.launchpad.net/ubuntu/+source/apt/+question/118944
— Roland Ewald

5
这是密钥的指纹,即后8个字符。仔细看看!:P
— deed02392 2014年

5
一个更直接的方法是apt-key adv --keyserver pgp.mit.edu --recv-keys 07DC563D1F41B907。该adv命令将其他选项传递给GPG。
— 贡萨洛·里贝罗

@GonçaloRibeiro谢谢!
— Sultanen

26

对于几个不同的服务器,我也遇到了“ gpg:keyserver timed out”的问题。最后,事实证明,我根本不需要手动执行此操作。在Debian系统上,修复它的简单解决方案就是(以root或sudo开头):

aptitude install debian-archive-keyring

如果您需要其他钥匙圈,请查看

apt-cache search keyring | grep debian

我的挤压系统显示了所有这些:

debian-archive-keyring       - GnuPG archive keys of the Debian archive
debian-edu-archive-keyring   - GnuPG archive keys of the Debian Edu archive
debian-keyring               - GnuPG keys of Debian Developers
debian-ports-archive-keyring - GnuPG archive keys of the debian-ports archive
emdebian-archive-keyring     - GnuPG archive keys for the emdebian repository

漂亮又简单。正是我想要的。
— Nathanael Weiss 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.