我在更新源列表时遇到以下错误
$ sudo apt-get update
Reading package lists... Done
W: GPG error: http://archive.debian.org lenny/updates Release: The following signatures were invalid: KEYEXPIRED 1356982504
W: You may want to run apt-get update to correct these problems
如何解决此问题?
答案 0 :(得分:7)
要查找任何过期的存储库密钥及其ID,请使用apt-key,如下所示:
apt-key list | grep expired
您将获得类似于以下内容的结果:
pub 4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]
密钥ID是/例如BE1DB1F1之后的位。
要更新密钥,请运行
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1
答案 1 :(得分:4)
最后,任何一个答案都解决了我的问题。
我所做的是重新检查最新的来源。在我的情况下
###### Debian Main Repos
deb http://ftp.au.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.au.debian.org/debian/ wheezy main contrib non-free
###### Debian Update Repos
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.au.debian.org/debian/ wheezy-proposed-updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://ftp.au.debian.org/debian/ wheezy-proposed-updates main contrib non-free
我使用这个网站生成它们。 https://debgen.simplylinux.ch/ Debian Source生成器。
然后我更新回购中的密钥。
apt-get install debian-keyring debian-archive-keyring
apt-key update
然后再次尝试更新
apt-get update
这可能会解决问题。
Fetched 67.5 kB in 2min 0s (560 B/s)
Reading package lists... Done
如果您仍然遇到某些键问题,请按照每个键的后续步骤操作。
您需要从其他服务器手动添加密钥。 在这种情况下,缺少的密钥是55BE302B
所以你必须这样做:
gpg --keyserver pgpkeys.mit.edu --recv-key 55BE302B
gpg -a --export 55BE302B | sudo apt-key add -
它将导入密钥,然后将它们添加到源。
root@XXX:~# gpg --keyserver pgpkeys.mit.edu --recv-key 55BE302B
gpg: requesting key 55BE302B from hkp server pgpkeys.mit.edu
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 55BE302B: public key "Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
root@XXX:~# gpg -a --export 55BE302B | sudo apt-key add -
OK
我希望这有助于任何人面对同样的问题。
答案 2 :(得分:3)
我遇到了同样的问题,我只是改变了系统日期
date --set 2008-01-01
然后尝试更新
apt-get update