Aptitude 不受信任的来源,gpg,密钥服务器

Aptitude 不受信任的来源,gpg,密钥服务器

我已经镜像了 Ubuntu 存档存储库(我必须说它相当庞大)。然后,我可以毫无问题地 apt-get install,但它会提示以下警告:

WARNING: The following packages cannot be authenticated!
  xxxx, xxxx, ...
Install these packages without verification [y/N]? 

嗯,您随时可以安装它。

但是,我无法从 Ubuntu 软件 GUI 安装。这需要可信来源。

所以,

  1. 如何强制 GUI 安装不受信任的包?
  2. 我应该配置 GPG 来接收一些公钥吗?(我已经安装了 ubuntu-keyring、debian-keyring,但它仍然不受信任)
  3. 我是否应该配置 GPG 以自动从某些特定密钥服务器接收未知密钥?

答案1

问题可能是您的 apt 密钥环上没有存储库的密钥,正如 Badger 所说,但我认为这不太可能。如果它确实是 Ubuntu 存储库的镜像,那么它将使用相同的密钥,并且您应该已经拥有必要的密钥。(我假设当您使用标准镜像之一时不会收到此错误。)

因此,这意味着您的镜像可能未正确签名,这可能是因为您没有以正确的方式镜像它。您需要使用特定的顺序,以避免在复制时发生存储库更新时获得不一致的副本。考虑到需要多长时间,这种情况很可能发生,尤其是在初始副本上,而不是刷新时。Debian 推送镜像网页解释了如何使用诸如此类的日常工具来完成此操作rsync,但最好还是使用诸如此类的专用工具apt-mirror

Release存储库签名的工作方式是, dist 目录中有一个顶级文件(例如dists/lucid),该文件已签名(Release.gpg)。它包含所有其他索引文件的哈希值(例如main/binary-i386/Packages),而这些文件又包含包文件本身的哈希值。因此,如果任何哈希值过期,整个存储库验证都会失败。Debian安全公寓解释细节。

答案2

您可能想看看这个网站:http://popey.com/blog/2006/10/24/Creating_an_Ubuntu_repository_mirror_with_apt-mirror/

当你更新时,你可能会得到如下信息:

W: GPG error: file: edgy-plf Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F120156012B83718
W: GPG error: file: edgy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 31A5F97FED8A569E
W: GPG error: file: edgy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 18B52FE3521A9C7C

您想使用这些键并对每个键执行以下操作:

sudo gpg --keyserver subkeys.pgp.net --recv F120156012B83718
sudo gpg --export --armor F120156012B83718 | sudo apt-key add -

我只是浏览了这篇文章,但我确信这就是你需要的

答案3

您还可以考虑使用缓存 apt 代理(例如) 而不是完整镜像。这样可以根据需要获取软件包,并保存它们以供将来在同一台机器或另一台机器上重复使用。很少有人真正需要完整镜像,并且需要大量带宽来保持其最新状态,其中大部分将用于您永远不会使用的软件包。

相关内容