解决添加软件源错误 (gpgkeys: HTTP fetch error 7: couldn't&nbs
最近在用add-apt-repository添加源时,常常出现以下错误,导致一些第三方源的软件无法安装。
- seagull@seagull-desktop:~$ sudo add-apt-repository ppa:shawn-p-huang/ppa
- Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv AAAD1D3563E5A736A4F561EE884D6308E89713C4
- gpg: requesting key E89713C4 from hkp server keyserver.ubuntu.com
- gpgkeys: HTTP fetch error 7: couldn't connect to host
- gpg: no valid OpenPGP data found.
- gpg: Total number processed: 0
原因:
keyserver.ubuntu.com使用非标准的11371端口,而一般公司的防火墙都屏蔽掉了该端口,而允许标准的80端口。
所以可以以如下方式强行使用80端口添加软件源:
seagull@seagull-desktop:~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80AAAD1D3563E5A736A4F561EE884D6308E89713C4
红色部分是你要请求的Key.
通过如上方式你可成功导入key.
- seagull@seagull-desktop:~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 AAAD1D3563E5A736A4F561EE884D6308E89713C4
- Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 AAAD1D3563E5A736A4F561EE884D6308E89713C4
- gpg: requesting key E89713C4 from hkp server keyserver.ubuntu.com
- gpg: key E89713C4: public key "Launchpad Peng Huang's PPA" imported
- gpg: Total number processed: 1
- gpg: imported: 1 (RSA: 1)