问题描述
每次进行apt-get升级时,我都会收到以下错误:
GPG错误:http://nginx.org trusty发布:以下签名无效:KEYEXPIRED 1471427554
我只是通过在sources.list中添加以下内容来安装标准方式的官方nginx ppa
deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx
这是他们最终的错误,他们最终会有希望解决,还是我必须要做的事情从我的结束?
最佳解决方案
将第三方存储库添加到/etc/apt/sources.list.d/*
文件或/etc/apt/sources.list
后,您需要确保将相应的gpg密钥插入到apt密钥库中。
更具体地说明nginx.org存储库的这种特殊情况:您需要添加用于签名存储库的nginx.org gpg密钥文件。
这可以通过手动下载文件https://nginx.org/keys/nginx_signing.key并发出sudo apt-key add nginx_signing.key
(由nginx.org和@ThomasWard建议)来完成,或者您可以在一行中执行此操作:
wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
次佳解决方案
导致此问题的根本原因是”older” Nginx签名密钥已于2016年8月17日到期:
$ sudo apt-key list
pub 2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid nginx signing key <signing-key@nginx.com>
要解决此问题,请使用@ phillip-zyan-k-lee-stockmann和@ThomasWard建议的命令添加新的签名密钥:
wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
新密钥现在于2024年到期:
$ sudo apt-key list
pub 2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid nginx signing key <signing-key@nginx.com>