因特网上很多关于Ubuntu的文章 (包括我们的), 都让你添加PPA来获取应用程序的最新版本。PPA非常有用,但当PPA的密钥丢失时,可真不是一个容易搞定的情况。
为了获取PPA密钥,你通常必须跑到终端里面去为每一个丢失的PPA密钥敲打一个个独立的命令。如果你丢失了很多歌PPA密钥,这很需要一些时间。
但愿有一种简单的办法。比如,一种帮我们自动完成这个工作的办法。
真有这样的东西。如果你丢失了某些PPA密钥, 比如 @_honza (我的一个读者), 你可以通过简单的粘贴下面的中断命令来完成你需要做的工作。
sudo apt-get update 2> /tmp/keymissing;
for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do
echo -e "nProcessing key: $key";
gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -;
done
一个更加简单 (也更加自动化) 的获取丢失的PPA密钥的方式是当你更新了你的软件源时,运行一个叫 launchpad-update 的小脚本。
首先下载 launchpad-update 到桌面, 右击该文件,到 "Properties" 这里的 "Permissions" 选项卡中选中 "Allow executing file as program" 复选框。然后运行下面的命令:
cd Desktop
sudo mv launchpad-update /usr/bin
echo "APT::Update::Pre-Invoke {\"if [ -x /usr/bin/launchpad-update ]; then /usr/bin/launchpad-update; fi;\"};" > 05ppa
sudo mv 05ppa /etc/apt/apt.conf.d/
现在,每当你更新你的软件源的时候,它会自动帮你获取到丢失的PPA GPG密钥。你也可以在任何想要获得密钥的时候手动运行 "launchpad-update"。