当 apt 不接受存储库时,如何进行 apt-update?

当 apt 不接受存储库时,如何进行 apt-update?

我想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 1346668560

W:获取失败 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,只是阻止它更新。

无论如何,存储库的签名存在问题。您可以尝试删除存储库并再次添加。这可能会解决问题。

相关内容