Answers:
GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333
这表示您用于该存储库的GPG密钥已过期,这意味着以下两种情况之一:系统日期错误或密钥真正过期。对于以后的版本,一旦存储库更新了它们的密钥以对文件进行签名,则需要与存储库维护者联系并导入新密钥(可能删除旧密钥)。
如果您不使用这些存储库的软件包,则可以放心地忽略这些消息。如果从source.list
文件/目录中删除存储库,则可以删除该消息。
我没有上面的答案,我的系统时钟很好。以下为我工作:
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
--keyserver pgp.mit.edu
。来源:bugs.mysql.com/bug.php?id = 85029
该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
根据您的情况。如果不确定,请参阅此处。
如前所述,首先,要删除过期的密钥:
sudo apt-key del 1436387333然后转到站点:
http://download.opensuse.org/repositories/home:/sarimkhan/xUbuntu_14.04/
并下载“ Release.key”,然后使用ubuntu14.04软件更新程序或突触软件包管理器导入密钥。
这些都不对我有用:
$ 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=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)
然后跟着:
$ 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密钥服务器上,或者有些类似的事情(我不知道密钥的方式保持)。
对重复线程的此注释表示相同的内容。
希望这可以节省一些时间和精力。
这样简单就可以了:
apt-key adv --refresh-keys
为什么使用sed
,xargs
如果gpg
可以自己整理东西?