如何信任apt存储库:Debian apt-get update错误公钥不可用:NO_PUBKEY <id>

Chr*_*ris 71 debian apt upgrade gnupg repository

尝试在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
Run Code Online (Sandbox Code Playgroud)

具有讽刺意味的是它指示我运行apt-get update是一个不错的踢球者......

Chr*_*ris 110

我发现有几个帖子告诉我要运行几个gpg命令,但由于两件事,他们没有解决问题.首先,我错过了我的系统上的debian-keyring包,第二次我使用的是无效的密钥服务器.如果你有超时,请尝试不同的密钥服务器!

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

apt-get install debian-keyring
gpg --keyserver pgp.mit.edu --recv-keys 1F41B907
gpg --armor --export 1F41B907 | apt-key add -
Run Code Online (Sandbox Code Playgroud)

然后运行一个新的"apt-get update"完美无缺!

  • 你怎么知道你必须使用07DC563D1F41B907的1F41B907? (9认同)
  • 刚尝试过,07DC563D1F41B907应该也能正常工作(即服务器知道这一点).BTW在更新的Ubuntu设置上,尝试这里描述的命令:https://answers.launchpad.net/ubuntu/+source/apt/+question/118944 (5认同)
  • 它是密钥的指纹,即最后8个字符.仔细看!:P (5认同)
  • 更直接的方法是`apt-key adv --keyserver pgp.mit.edu --recv-keys 07DC563D1F41B907`.`adv`命令将其他选项传递给GPG. (5认同)

miv*_*ivk 26

我有几个不同的服务器"gpg:keyserver超时"的问题.最后,事实证明我根本不需要手动执行此操作.在Debian系统上,修复它的简单解决方案就是(以root身份或以sudo开头):

aptitude install debian-archive-keyring
Run Code Online (Sandbox Code Playgroud)

如果它是您需要的其他密钥环,请查看

apt-cache search keyring | grep debian
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)