为什么我从Ubuntu存储库中收到软件包的身份验证错误?


186

我正在尝试使用VPN,因此我想安装pptpd。

john@desktop:~$ sudo apt-get install pptpd
[sudo] password for john: 
<snip>
The following extra packages will be installed:
  bcrelay
The following NEW packages will be installed:
  bcrelay pptpd
0 upgraded, 2 newly installed, 0 to remove and 11 not upgraded.
Need to get 90.5 kB of archives.
After this operation, 442 kB of additional disk space will be used.
Do you want to continue [Y/n]? y

一切正常,直到我到达这里:

WARNING: The following packages cannot be authenticated!
  bcrelay pptpd
Install these packages without verification [y/N]? n
E: Some packages could not be authenticated

没有身份验证?我不是安全专家,但我可以肯定这是一件坏事。因此,我检查了软件包的来源

john@desktop:~$ apt-cache policy pptpd
pptpd:
  Installed: (none)
  Candidate: 1.3.4-3ubuntu1
  Version table:
     1.3.4-3ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages
john@desktop:~$ apt-cache policy bcrelay
bcrelay:
  Installed: (none)
  Candidate: 1.3.4-3ubuntu1
  Version table:
     1.3.4-3ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages

它们来自Ubuntu.com,没有经过正确的身份验证?这里发生了什么?

Answers:


227

apt-key实用程序

apt-key用于管理apt用来验证软件包的密钥列表。使用这些密钥验证过的软件包将被视为受信任的软件包。用Ubuntu存档密钥的密钥环更新本地密钥环,并从密钥环中删除不再有效的存档密钥。

$ sudo apt-key update
$ sudo apt-get update

尝试安装一些东西...


15
它奏效了,但apt-key表示并没有改变任何东西。知道我的问题是什么吗?
约翰

5
这可能是由程序包服务器端的许多错误引起的。有时运行apt-get update会修复它。
ixtmixilix 2012年

4
以我为例,长时间aptitude工作时按Ctrl + C会导致问题。sudo apt-key update没有任何改变,但是sudo apt-get update解决了问题。
musiphil 2014年

1
它显示“ Ubuntu存档自动签名密钥<-@ ubuntu.com>未更改” ..任何其他建议!
CoDe15 2015年

2
我想知道为什么apt-key update在遇到The following packages cannot be authenticated!问题后不能自动运行...
Mateusz Konieczny16年


5

我在Ubuntu 12.10(Quantal Quetzal)上遇到了这个问题。如果我尝试使用Synaptic软件包管理器GUI,则会发生相同的问题。

事实证明,我的系统仍设置为对我不再连接且无法再使用的网络使用代理服务器。一旦我禁用了代理服务器,apt便能够正确验证软件包。

为了在Ubuntu 12.10(Quantal Quetzal)上禁用代理,请按照下列步骤操作:

  1. 按键盘上的“ 超级”按钮(又称为Windows徽标按钮)
  2. 键入网络,然后按Enter
  3. 选择网络代理
  4. 将方法更改为
  5. 单击应用系统范围
  6. apt 现在应该能够验证软件包

2

我遇到了这个问题,事实证明这是澳大利亚服务器的问题-袋鼠可能散落在顶部围场中。我通过将Muon中的软件源从澳大利亚服务器更改为主服务器来修复它


2

当心企业代理!

我坐在代理后面WARNING: The following packages cannot be authenticated!寻找openjdk-7-jdk(在其他软件包中)。即使使用Proxy config配置`/etc/apt/apt.conf'和Settings-> NetworkSettings也不允许对软件包进行身份验证或安装。

尝试过(在代理之后): $ sudo apt-key update $ sudo apt-get update

密钥没有更新,apt-get update没有更新某些内容,没有警告或错误。但是我仍然无法安装openjdk-7-jdk

解:

  1. 直接连接到网络(即避免使用公司代理)
  2. 在“设置”中关闭代理配置,然后 /etc/apt/apt.conf
  3. sudo apt-key update
  4. sudo apt-get update
  5. sudo apt-get install openjdk-7-jdk

软件包经过身份验证,下载和安装。


3
但是为什么呢?为什么要通过公司代理来阻止对软件包的正确身份验证?
Mikhail T.

1

ntc2本质上是正确的(无论如何对我而言),但是请允许我详细说明解决方案。

不管出于什么原因,即使设置为自动升级,我仍然停留在15.04上。无论我更新/升级了多少次,都没有显示新版本,并且在安装软件包时始终出现身份验证错误。

但是我终于想出了如何通过官方的Ubuntu 15.10(Wily Werewolf)发行说明强制进行升级。事实证明,这相当简单,对于我来说,我真正需要的只是最后一步。

从Ubuntu 15.04升级:

  • update-manager-core如果尚未安装该软件包,请安装它。
  • 确保将/etc/update-manager/release-upgrades设置为正常。
  • 使用命令启动升级工具sudo do-release-upgrade

现在,我已经升级了身份验证错误,并且我可以安装软件包而不会出现问题。

升级问题 -E:方法给出无效的103重定向消息

这可能与升级问题相关,也可能无关,因此,如果其他任何人也遇到此问题,我将在此保留。如果在升级过程中遇到以下错误:

E:方法给出了无效的103重定向消息

您可能需要使用以下内容清除部分文件,然后重试升级:

sudo rm /var/lib/apt/lists/partial/*

(来源:https : //bugs.launchpad.net/ubuntu/+source/apt/+bug/1479045

这是使升级通过我的最后一步。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.