防火墙后面没有gpg密钥
刚刚在这个封闭的线程中偶然发现: 运行apt-get时出现GPG错误
同样的问题,Ubuntu 12.04背后有防火墙和代理。
我不认为这个问题与给定主题重复。 所以我在这个post中重新打开这个问题。
我的输出:
root@musik-Aspire-7741:~# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret- keyring /tmp/tmp.tWVMhyIMYh --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87 gpg: Key 58B98E87 of hkp Server keyserver.ubuntu.com request ?: keyserver.ubuntu.com: Connection refused gpgkeys: HTTP fetch error 7: couldn't connect: Connection refused gpg: No valid OpenPGP data found. gpg: Total number processed: 0
结论:gpg无法使用hkp://keyserver.ubuntu.com:80
通过http。
在代理后面,应该设置环境变量http_proxy
。 这可以通过两种方式中的任何一种来完成。
1.如果不存在,请在/ etc / apt目录中创建apt.conf
文件,并将以下行添加到其中。 Acquire::http::Proxy "http://user:password@server:port";
2.使用终端中的以下命令简单设置环境变量。
export http_proxy=http://user:password@server:port
最后一个小的调整,为命令添加-E选项,用于环境变量,如下所示
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
如果您在代理服务器后面,则必须在Bash中设置http_proxy
环境变量。 最好的方法是用sudo bash
打开root shell。
在这之后:
export http_proxy="http://xxx.yyy.zzz.www:abcd"
然后添加回购。
我花了将近两天的时间来安装最新版本的MongoDB。 但我面临同样的问题,如下所示:
$ apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.pvb8fwe4Rs --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//nsa-keyring.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10 gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com gpg: keyserver timed out gpg: keyserver receive failed: keyserver error
最后我借助“ellore”共享的步骤安装了mongoDB。
- 在
apt.conf
文件中添加了http和https代理。 - 使用
export http
和https
命令添加了env变量。 -
在命令行中添加了“-E”:
sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
然后我得到了以下回复:
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com gpg: key 7F0CEB10: "Richard Kreuter " not changed gpg: Total number processed: 1 gpg: unchanged: 1
我已经成功安装了MongoDB 3.0.7,如下所示,
$ mongo --version MongoDB shell version: 3.0.7