![当 apt 不接受存储库时,如何进行 apt-update?](https://linux22.com/image/1341083/%E5%BD%93%20apt%20%E4%B8%8D%E6%8E%A5%E5%8F%97%E5%AD%98%E5%82%A8%E5%BA%93%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E8%BF%9B%E8%A1%8C%20apt-update%EF%BC%9F.png)
我想apt-get
更新我的 Debian 机器。但是,我遇到了这个问题。
获得:4http://deb.torproject.orgsqueeze 释放 [2,951 B]
错误http://deb.torproject.orgsqueeze Release (其他正常的仓库) W: 签名验证时出错。仓库未更新,将使用以前的索引文件。GPG 错误:http://deb.torproject.orgsqueeze 发布:以下签名无效:KEYEXPIRED 1346668560 KEYEXPIRED 1346668560 KEYEXPIRED 1346668560 KEYEXPIRED 1346668560 KEYEXPIRED 1346668560W:获取失败 http://deb.torproject.org/torproject.org/dists/squeeze/Release
W:某些索引文件下载失败,已被忽略或使用旧的文件代替。
我该怎么办?我不想删除 torproject 存储库,我仍然会时不时地使用 tor...
答案1
笔记: apt-key
是已弃用
您可以尝试更新存储库密钥。当我尝试通过将以下行添加到我的 sources.lst 来使用 tor 存储库时:
deb http://deb.torproject.org/torproject.org squeeze main
我收到以下错误:
W: GPG error: http://deb.torproject.org squeeze InRelease: The following
signatures couldn't be verified because the public key is not available:
NO_PUBKEY 74A941BA219EC810
因此,缺失的密钥是 74A941BA219EC810。要添加(或更新)密钥,请运行:
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net 74A941BA219EC810
您现在应该能够运行“apt-get update”并且不会出现任何错误。
答案2
笔记: apt-key
是已弃用
要查找任何过期的存储库密钥及其 ID,请使用apt-key
以下命令:
apt-key list --keyid-format short | fgrep expired
您将得到类似以下的结果:
pub 4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]
在这种情况下,密钥 ID 是/
ie后面的位BE1DB1F1
。
要更新密钥,正如 terdon 指出的那样,运行
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1
答案3
您不必删除存储库,只需禁用它即可。这不会删除 tor,只是阻止它更新。
无论如何,存储库的签名存在问题。您可以尝试删除存储库并再次添加。这可能会解决问题。