将缺少的PPA密钥添加到apt密钥环

尝试消除问题的工具

如果您是使用Launchpad的Personal Package Archive的Linux发行版的用户,那么您会知道该工具可以很容易地添加那些很难找到为您的系统预先打包的应用程序。一旦习惯了PPA,就很容易依赖这些存储库。但是,有时这些PPA似乎存在无法克服的问题-密钥。如果没有为您提供特定PPA的密钥,则您将无法使用该软件-除非将该密钥添加到您的密钥环中。

但是,当您从未收到密钥时,如何添加它呢?信不信由你,有一个简单的解决方案来完成这项任务。

我将假设您已将PPA添加到您的/etc/apt/sources.list文件中(或使用以下命令添加了它们)sudo add-apt-repository ppa:铬每天)。在添加PPA之后,安装软件之前的下一步是运行命令 sudo apt-get更新。如果尚未添加密钥,则会显示错误消息,指示密钥丢失。当该错误弹出时,不能使用该特定的PPA。该错误看起来像:

GPG错误:http://ppa.launchpad.net清醒发行:由于公共密钥不可用,因此无法验证以下签名:NO_PUBKEY 2524246B1CC723DB

这里的线索是最后一个字符串,这是公共密钥。为了添加此特定PPA(或存储库)的密钥,请发出以下命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID

其中KEY_ID是错误中的最后一个字符串(在这种情况下为2524246B1CC723DB)。

发出上述命令后,将显示以下输出:

执行:gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg-密钥环/etc/apt/trusted.gpg-主密钥环/etc/apt/trusted.gpg-密钥服务器keyserver.ubuntu.com --recv-keys 2524246B1CC723DBgpg:从hkp服务器请求密钥1CC723DB keyserver.ubuntu.comgpg:密钥1CC723DB:公开密钥'Chris Coulson的'Launchpad PPA'已导入

处理总数:1gpg:导入:1(RSA:1)

上面输出的重要部分是最后一行,指示已处理1个密钥中的1个。现在可以使用该PPA(或存储库)。

查找回购和PPA

那里有很多存储库和PPA。一个很好的起点(除Google之外)是 发射台 。转到启动板时,可以在“已注册PPA”,“已发布源”,“活动PPA”和“已发布二进制文件”下进行搜索。该站点还根据发行版细分了PPA,包括6.06到11.04。当然,这是仅Ubuntu站点,因此这些存储库仅适用于Ubuntu和基于Ubuntu的发行版。

GUI

有一个称为gui-apt-key的GUI。您可以在Synaptic中找到它(搜索'gui-apt-key',将其标记为要安装,然后单击Apply以安装。)该工具基本上允许您获取密钥ID,在一个小的文本区域中输入它,然后按添加按钮以将密钥添加到您的密钥环。如果您更喜欢GUI工具,那么这是一个不错的选择。就个人而言,我更喜欢使用命令行,因为它更可靠,更灵活。

最后的想法

有时候,那些容易犯的错误可能是真正的痛苦。但是当错误是缺少键时,总是有一种快速的解决方案来添加该键。