“ GPG错误:以下签名无效:KEYEXPIRED”


32

尝试更新包裹列表时遇到的错误。

W: GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333
E: Some index files failed to download. They have been ignored, or old ones used instead.

Answers:


11
GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333

这表示您用于该存储库的GPG密钥已过期,这意味着以下两种情况之一:系统日期错误或密钥真正过期。对于以后的版本,一旦存储库更新了它们的密钥以对文件进行签名,则需要与存储库维护者联系并导入新密钥(可能删除旧密钥)。

如果您不使用这些存储库的软件包,则可以放心地忽略这些消息。如果从source.list文件/目录中删除存储库,则可以删除该消息。


...建议添加以确认系统时钟至少合理地正确。如果系统认为是2020年,那肯定会导致关键的过期错误。
derobert

37

我没有上面的答案,我的系统时钟很好。以下为我工作:

sudo apt-key list | grep "expired: "
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys [KEY]

关键是斜线后面的部分: 0000X/<this part is the key>

或使用此衬纸:

sudo apt-key list  | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 

1
谢谢,使用MySQL为我解决了问题,但使用了--keyserver pgp.mit.edu。来源:bugs.mysql.com/bug.php?id = 85029
Craig van Tonder

7

该ppa已被删除,不再存在。您必须找到通过samrog131 ppa安装的软件包的其他来源。

同时,运行以下命令来解决这种情况。

首先,删除过期密钥:

sudo apt-key del 1436387333

然后,要删除ppa:

sudo rm /etc/apt/sources.list.d/samrog131*
sudo apt-get clean
sudo apt-get update

如果您需要添加密钥,请参见此处

sudo apt-get upgrade

您可能要运行:

sudo apt-get dist-upgrade

根据您的情况。如果不确定,请参阅此处


这不会解决任何问题。APT会再次尝试获取来自PPA的软件包,并在它失败再次
Braiam

@Braiam实际上,它确实解决了缺少的samrog131 ppa(您从问题中删除的那个)的404错误的问题。
mchid

我们已经有覆盖该问题的重复项,您没有完全回答问题,因为您忽略了最重要的部分即GPG错误。请不要再编辑问题。
Braiam

@Braiam为什么不这样做,只是为了让它看起来像我的答案没有解决任何问题?
mchid

1)如果用户直接在pps.list中添加了ppa,您的答案将失败,实际上,如果不使用add-ppa-repository,而OP仅以不同的方式命名该文件,则它将失败。2)如果您卸下钥匙,由于未找到钥匙,现在警告将被替换为错误,从而造成更多问题。
Braiam 2015年


2

这些都不对我有用:

$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 5072E1F5

要么

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5

要么

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5

这些资源的来源是:https : //bugs.mysql.com/bug.php?id=85029https://bugs.mysql.com/bug.php?id=94378

我绝望地执行了一个可疑的操作(在下面说“ y”而不是“ N”),我认为根本不需要这样做:

$ sudo apt-get install mysql-apt-config

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  mysql-apt-config
1 upgraded, 0 newly installed, 0 to remove and 294 not upgraded.
Need to get 35.6 kB of archives.
After this operation, 0 B of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  mysql-apt-config
Install these packages without verification? [y/N] y
Get:1 http://repo.mysql.com/apt/ubuntu/ trusty/mysql-apt-config mysql-apt-config all 0.8.13-1 [35.6 kB]
Fetched 35.6 kB in 0s (229 kB/s)      
Preconfiguring packages ...
dpkg-deb: error: archive '/var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb' has premature member 'control.tar.xz' before 'contro
l.tar.gz', giving up
dpkg: error processing archive /var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

然后跟着:

$ sudo apt-get update

这没有帮助。

我仍然遇到相同的错误。

最后,以下工作

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5072E1F5

我(盲目地)推测pgp.mit.edu改变了它们的结构,或者“ MySQL Release Engineering”(运行apt-key list)已经将其密钥移到了ubuntu密钥服务器上,或者有些类似的事情(我不知道密钥的方式保持)。

对重复线程的注释表示相同的内容。

希望这可以节省一些时间和精力。


最后一步适用于我的ubuntu 14.04 LTS,其他所有步骤均失败了。
a4aravind

1

这样简单就可以了:

apt-key adv --refresh-keys

为什么使用sedxargs如果gpg可以自己整理东西?


我收到以下错误:gpg:未知密钥服务器(使用选项--keyserver)gpg:密钥服务器刷新失败:URI错误
MaxiReglisse

0

此解决方案最适合我。

wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key

sudo apt-key add - < Release.key

一旦运行了这些命令,我​​便能够按预期进行更新和升级。


0

面向GUI的答案:

在文件管理器中导航至/etc/apt/sources.list.d,然后双击sources.list

这将打开“软件和更新”对话框。单击“其他软件”,找到有问题的ppa,然后单击“删除”。这终止了我的错误。

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.