今天早些时候,我正在删除 VirtualBox,在删除其公钥时,我不小心输入了指纹而不是密钥 ID:
sudo apt-key del 7B0F AB3A 13B9 0743 5925 D9C9 5442 2A4B 98AB 5139
输出结果和平常一样:
OK
现在(尽管它们可能完全不相关)coreutils 的公钥丢失了:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 12.7 MB of source archives.
Get:1 gb.archive.ubuntu.com/ubuntu vivid/main coreutils 8.23-3ubuntu1 (dsc) [1,414 B]
Get:2 gb.archive.ubuntu.com/ubuntu vivid/main coreutils 8.23-3ubuntu1 (tar) [12.6 MB]
Get:3 gb.archive.ubuntu.com/ubuntu vivid/main coreutils 8.23-3ubuntu1 (diff) [114 kB]
Fetched 12.7 MB in 16s (751 kB/s)
gpgv: Signature made Mon 03 Nov 2014 07:34:45 GMT using DSA key ID 5662C734
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./coreutils_8.23-3ubuntu1.dsc
dpkg-source: info: extracting coreutils in coreutils-8.23
dpkg-source: info: unpacking coreutils_8.23.orig.tar.gz
dpkg-source: info: applying coreutils_8.23-3ubuntu1.diff.gz
这两件事有关联吗?如果是,我该如何重新安装我可能意外删除的丢失的公钥,以及如何判断哪些被删除了?是否有某种密钥 ID 搜索?但是,如果两者没有关联,为什么我的 coreutils 公钥丢失了,我该如何找回它?
操作系统信息:
Description: Ubuntu 15.04
Release: 15.04
封装信息:
coreutils:
Installed: 8.23-3ubuntu1
Candidate: 8.23-3ubuntu1
Version table:
*** 8.23-3ubuntu1 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
100 /var/lib/dpkg/status
答案1
webupd8team 创建了一个非常好的程序来修复 PPA 并进行一般的 PPA 管理。
要安装该工具,请运行:
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager
然后运行:
sudo y-ppa-manager
转至以下部分Advanced
:
然后运行Try to import all missing GPG keys
:
这可能需要一段时间,但完成后它会提醒您。
有关 webupd8 的更多信息可以找到这里。