我在尝试更新我的包裹列表时遇到的错误。
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)
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)
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 次 |
| 最近记录: |