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

Xiè*_*léi 6 package-management aptitude ubuntu gnupg

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

WARNING: The following packages cannot be authenticated!
  xxxx, xxxx, ...
Install these packages without verification [y/N]? 
Run Code Online (Sandbox Code Playgroud)

好吧,您可以随时安装它。

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

所以,

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

Nei*_*hew 1

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

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

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