今天給樹莓派換源,爆出N個這錯誤:
W: GPG error: http://mirrors.neusoft.edu.cn/raspbian/raspbian wheezy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9165938D90FDDD2E
經過多番查找資料,解決了問題,記錄下解決過程.
介紹:
GPG是啥:
這玩意又叫GnuPG,是一個加密/解密相關的工具,據說是模仿PGP開發的(PGP另一個加密工具,收費的)
apt為何用到GPG:
apt在下載包的時候會加密,而GPG在其中提供加密,解密相關的支持
解決問題:
從上面的提示可看出,似乎缺少了某Pubkey,所以要把它補上,使用如下命令:
gpg --keyserver 服務器 --recv-keys 提示語句最后的那串玩意兒 && apt-key add /root/.gnupg/pubring.gpg
#例子:
gpg --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E && apt-key add /root/.gnupg/pubring.gpg
有些系統可以嘗試用這個:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 9165938D90FDDD2E
命令執行后,再次apt update,發現之前的GPG錯誤沒了.問題解決~
國內可用key server列表:
keyserver.ubuntu.com
pgp.mit.edu
subkeys.pgp.net
www.gpg-keyserver.de
參考資料(里面有更詳細的內容):
http://blog.chinaunix.net/uid-20420254-id-2890214.html
http://www.ruanyifeng.com/blog/2013/07/gpg.html
http://zqscm.qiniucdn.com/data/20070530161730/index.html