如何处理软件中心中的“未经验证的来源”错误?

任何我通过软件中心尝试安装的程序都告诉我:
需要安装不受信任的软件包:此操作需要从未经验证的来源安装软件包。
我在命令行上执行了apt-get update,然后删除了那些密钥有问题的软件源(我自己添加的PPA),并在软件中心的软件源中取消了勾选,但是没有效果。我无法再通过软件中心安装任何东西 - 只能通过apt-get命令行安装。
卸载/安装是唯一的选择吗?我不想破坏其他的PPA。
附加信息:
这是apt-get update的输出粘贴内容:
Reading package lists... Done
W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B725097B3ACC3965
W: GPG error: http://us.archive.ubuntu.com oneiric Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>

我尝试了apt-key update,但没有任何效果(两个密钥未更改)。
可以在this pastebin post中找到apt-get update和apt-get upgrade的输出以及/etc/apt/sources.list的内容。

请将cat /etc/apt/sources.list的完整输出以及sudo apt-get update && sudo apt-get upgrade的输出添加到下面。 - fossfreedom
1可能有帮助:http://askubuntu.com/questions/36507/gpg-public-key-error-message - Uri Herrera
因为超过了字数限制,我不得不截取一部分输出内容。 - b. e. hollenbeck
如果您使用Muon Update Manager,它允许您覆盖有关未签名软件包的警告,就像在10.04之前的标准更新管理器一样。 - user77363
4个回答

打开终端,逐个输入以下命令:
sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update

更新: 这可能在一些较新的版本中无法起作用,可能需要其他解决方案,比如另一个答案中提到的方法,或者在某些情况下似乎可以在Ubuntu 16.04下完成工作的这个方法。
sudo apt-get update
sudo apt-get dist-upgrade

18谢谢,但为什么用户需要做这个呢?Ubuntu系统更新程序应该尽力去"做正确的事情"。 - Chris Nicola
5解决了问题!@Sadi,你能否解释一下幕后发生了什么?是某些密钥过时了吗? - Daniel Dinnyes
1这可以工作,但取决于您所在的国家,可能会在更新时收到"发生了一些邪恶的事情"的提示,表明可能存在 Ubuntu 软件中心(或 Synaptics)的软件源问题。在这种情况下,请将服务器从您所在国家的服务器更改为主要服务器(Ubuntu 软件中心 > 编辑选项卡 > 软件源)。 - tony gil
2请参考@Tom Brossman的回答,那个更好一些。 - sepisoad
无法创建目录的权限被拒绝,出现错误。 - Naveed Ali
@NaveedAli 你确定你输入的命令是正确的吗?要以sudo开头,并输入你的用户密码以获得管理员权限。 - Sadi
是的,Sadi,每件事都按照正确的步骤进行,并且反复检查了多次。 - Naveed Ali
1@NaveedAli 这很奇怪...也许你已经有这个目录了,可以跳过这一步,继续执行最后两个命令...或者你可以尝试"sudo nautilus",进入"/var/lib/apt/lists"并在那里创建一个名为"partial"的目录... - Sadi
谢谢 @Sadi 我会尝试的.. - Naveed Ali
2这对我来说没有起作用。 - Sudipta Basak
1Ubuntu 16.04也不工作。 - Yan King Yin
1sudo apt-get update && sudo apt-get dist-upgrade 对我来说有效。 - Yan King Yin
1@YanKingYin:谢谢你的更新 :-) 发现5年前有效的解决方案现在不再适用并不奇怪 ;-) 我目前使用的是Ubuntu Gnome 17.04,不知道这个答案对我是否仍然适用... - Sadi

这是Launchpad PPAs的一个常见问题。足够常见,以至于我已经把这些命令复制下来,在重新安装或添加新的Launchpad PPAs时使用。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  

然后,
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys YOURKEYNUMBERHERE  

将YOURKEYNUMBERHERE替换为问题键,就像这样:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B725097B3ACC3965  

而且

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5  

第一行几乎相同,只是没有密钥。它甚至可能是可选的,老实说我不知道。我唯一确定的是这种方法总是立即解决问题。
如果有人找到我从中复制这些答案的原始来源,请告诉我,我会链接并给予他们归属。
**编辑 这几乎肯定是karthik87的答案在这里在这里。这可能被关闭为重复。
无论如何,别忘了做一个...
sudo apt-get update  

之后,修复一切。

注意:首先运行apt-get update应该会出现一个错误消息,提到缺少哪个密钥以及与apt-key命令一起使用的ID。


这对我没用。。当我尝试接收密钥时,它显示已处理的总数为1,未更改的也是1。没有任何变化。 - Starx
@Starx 你最好把你的特定错误信息复制到搜索引擎中,或者在这里发布一个新问题。此外,还可以查看右侧边栏的相关问题。有很多类似的问题和不同的解决方案。很抱歉我无法提供更多帮助。 - Tom Brossman
我在这里发布了一个问题,请查看它:链接 - Starx
@TomBrossman 我成功修复了GPG错误,使用了你的方法,但没有使用第一行。 - Mario
对我来说没问题,谢谢!另外,你应该检查一下apt-get update的最后输出。例如,Duplicate sources.listFailed to fetch。在更新之前,你应该解决这些错误。你可以在软件和更新应用程序的其他软件选项卡中禁用/删除失败和重复的源。 - milkovsky

也许你可以尝试在“软件源”中将下载服务器更改为主服务器。

需要安装不受信任的软件包:此操作将要求从未经验证的来源安装软件包。

在添加存储库时,我在Ubuntu软件更新器中收到了这个错误,但没有添加存储库的密钥。有些软件存储库会在添加存储库的说明中附带如何添加其存储库密钥的说明,比如Launchpad。而其他一些只会提供密钥。

要确定您在终端中需要哪个密钥,请运行以下命令:

sudo apt-get update

这将从您的软件源下载可用软件包的列表,该列表使用密钥。如果缺少密钥,它将返回错误消息。
使用错误消息中的信息查找并下载密钥,然后使用以下命令将其添加到您的apt密钥环中:
sudo apt-key add /PathToTheKeyFile/KeyFile.gpg

你应该收到一个OK。现在来测试一下,看看你是否拥有所有必需的存储库身份验证密钥,以允许Ubuntu软件更新程序运行:
sudo apt-get update

这将再次从您的软件源下载可用软件包的列表,该列表使用密钥。如果缺少密钥,它将返回错误消息。