如何信任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.