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

mr_*_*zad 55 apt

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

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

W: Failed to fetch http://ppa.launchpad.net/samrog131/ppa/ubuntu/dists/trusty/main/binary-amd64/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)

小智 52

我没有得到上面的答案,我的系统时钟很好。以下对我有用:

sudo apt-key list | grep "expired: "
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys [KEY]
Run Code Online (Sandbox Code Playgroud)

关键是斜线后面的部分: 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 
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,用 MySQL 为我解决了这个问题,但使用了 `--keyserver pgp.mit.edu`。来源:https://bugs.mysql.com/bug.php?id=85029 (2认同)

san*_*mai 36

就像这应该工作一样简单:

sudo apt-key adv --refresh-keys
Run Code Online (Sandbox Code Playgroud)

为什么使用sed以及xargs是否gpg可以为自己排序?

如果收到有关无法访问的密钥服务器的错误,请尝试直接设置一个:

sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com --refresh-keys
Run Code Online (Sandbox Code Playgroud)

  • 原始答案返回错误,此命令的修改版本有效:`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --refresh-keys` (8认同)
  • RE Arman H 的评论:或者使用 SSL `sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --refresh-keys` (2认同)

Bra*_*iam 17

GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333
Run Code Online (Sandbox Code Playgroud)

这表示该存储库的 GPG 密钥已过期,这意味着两件事之一,要么您的系统日期错误,要么密钥确实已过期。对于后者,您需要联系存储库维护者并导入新密钥(可能删除旧密钥),一旦存储库更新其密钥以签署文件。

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


mch*_*hid 14

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

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

首先,删除过期的密钥:

sudo apt-key del 1436387333
Run Code Online (Sandbox Code Playgroud)

然后,删除ppa:

sudo rm /etc/apt/sources.list.d/samrog131*
sudo apt-get clean
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

你可能想运行:

sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

取决于你的情况。如果您不确定,请参阅此处


小智 5

这些都不适合我:

$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 5072E1F5
Run Code Online (Sandbox Code Playgroud)

或者

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5
Run Code Online (Sandbox Code Playgroud)

或者

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
Run Code Online (Sandbox Code Playgroud)

这些来源是: https: //bugs.mysql.com/bug.php? id=85029和https://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)
Run Code Online (Sandbox Code Playgroud)

并紧随其后:

$ sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

这没有帮助。

我仍然遇到同样的错误。

最后,以下工作有效

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5072E1F5
Run Code Online (Sandbox Code Playgroud)

我(盲目地)猜测也许 pgp.mit.edu 已经改变了他们的结构,或者也许“MySQL Release Engineering”(运行apt-key list)已经将他们的密钥移到了 ubuntu 密钥服务器或类似的东西(我不知道密钥是如何存在的)保持)。

对重复线程的评论说的是同样的事情

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


归档时间:

查看次数:

93397 次

最近记录:

4 年,5 月 前