防火墙后面没有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。

  1. apt.conf文件中添加了http和https代理。
  2. 使用export httphttps命令添加了env变量。
  3. 在命令行中添加了“-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