當我們在/etc/apt/sources.list中加入非Ubuntu官方源來安裝、更新部分軟件時,sudo apt-get update會有錯誤提示 下面以我使用的ibus非官方源作為示例,錯誤提示如下: W: GPG error: http://ppa. jaunty Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 21C022AA985E0E11 W: You may want to run apt-get update to correct these problems 也就是這個非官方源是不可信任的,解決辦法是導入該源的公鑰。
因為平時我們是使用sudo來管理系統的,所以有些地方要注意,不然很容易出現錯誤。
先把這個源的公鑰從公鑰服務器導入到當前用戶的公鑰庫 $gpg –keyserver wwwkeys.eu.pgp.net –recv-keys 21C022AA985E0E11 此處沒有必要用sudo來運行,把公鑰導入當前用戶即可,使用了反而有可能提示錯誤 gpg: WARNING: unsafe ownership on configuration file `/home/username/.gnupg/gpg.conf’ gpg: external program calls are disabled due to unsafe options file permissions gpg: keyserver communications error: general error gpg: keyserver receive failed: general error 因為這樣會導致gpg.conf的所有者與運行程序的用戶不一致,當然如果你在root用戶下運行則不存在這個問題,因為公鑰導入到了root用戶的密鑰庫。
公鑰導入成功后會有如些提示: gpg: requesting key 985E0E11 from hkp server wwwkeys.eu.pgp.net gpg: key 985E0E11: public key “Launchpad PPA for ibus-dev” imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
下一步是讓apt-get 來使用這個公鑰 $gpg –armor –export 985E0E11| sudo apt-key add -
注意apt-key add要用特權用戶來運行才可以,也就是要用sudo來運行,不然有如下錯誤提示: gpg: no writable keyring found: eof gpg: error reading `-’: general error gpg: import from `-’ failed: general error
導入成功后sudo apt-get update就不會有錯誤提示了。
|