防火墙后面没有 gpg 密钥

防火墙后面没有 gpg 密钥

刚刚偶然发现了这个封闭的帖子: 运行 apt-get 时出现 GPG 错误

同样的问题,Ubuntu 12.04 位于防火墙和代理后面。

我不认为该问题与给定主题重复。因此我在此线程中重新讨论此问题。

我的输出:

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 工作。

答案1

在代理后面,http_proxy应该设置环境变量。这可以通过两种方式之一完成。1

.apt.conf如果不存在,请在 /etc/apt 目录中创建文件,并在其中添加以下行。2 Acquire::http::Proxy "http://user:password@server:port";
.只需使用以下命令从终端设置环境变量即可。
export http_proxy=http://user:password@server:port

最后进行小调整,在命令中添加 -E 选项,以便使用环境变量,如下所示
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87

答案2

如果您使用代理,则必须http_proxy在 Bash 中设置环境变量。最好的方法是使用 打开 root shell sudo bash

在这之后:

export http_proxy="http://xxx.yyy.zzz.www:abcd"

然后添加 repo。

答案3

我花了将近两天的时间来安装最新版本的 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 http使用和https命令添加了环境变量。
  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 <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

我已经成功安装了 MongoDB 3.0.7,如下所示,

$ mongo --version
MongoDB shell version: 3.0.7

相关内容