我在跟踪official sbt install instructions。
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
Executing: /tmp/apt-key-gpghome.uRI0yiusG0/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
gpg: keyserver receive failed: Invalid argument编辑:
我试着深入研究它执行的gpg.1.sh脚本。下面是对gpg的最后一个调用。
$ sudo cat /tmp/apt-key-gpghome.IRnmlx6hfX/gpg.0.sh
#!/bin/sh
exec 'gpg' --ignore-time-conflict --no-options --no-default-keyring \
--homedir '/tmp/apt-key-gpghome.IRnmlx6hfX' --no-auto-check-trustdb --trust-model always "$@"编辑2:
我尝试过直接从keyserver查询密钥,但没有成功。参见http://keyserver.ubuntu.com/pks/lookup?search=2EE0EA64E40A89B84B2DF73499E82A75642AC823&op=vindex。有没有可能钥匙不见了?
编辑3:
我在2月24日重试了一次,现在它工作了!
发布于 2018-10-02 20:11:34
发出命令
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823我得到了错误
Executing: /tmp/apt-key-gpghome.DKOlZn67Q0/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
gpg: ricezione dal server di chiavi non riuscita: Dati assenti(无数据)
我是这样解决的(笔记本电脑上安装了Ubuntu 18.04.1,在企业代理服务器后面,无需身份验证):
通过gpg获得密钥:gpg --receive-keys 99E82A75642AC823
sudo apt-key add sbt-key导入
发布于 2018-09-07 18:12:28
也有同样的问题。两个ubuntu 18.04.1盒子。一个是最近安装的,另一个是最近从16.04.5升级的。在第一个示例中,我可以导入密钥来安装Scala &R,而不会出现问题。在第二个示例中,导入过程失败,并出现与您相同的错误。
似乎gpg导入了启动dirmng守护进程的密钥。此进程是通过网络与keyserver.ubuntu.com通信的进程。
为了解决这个问题,我以这种方式在gpg之前启动了dirmng:
sudo -i
dirmngr --daemon --homedir /root/key --debug-level guru --log-file dirmng.log
gpg -vv --debug-level 9 --ignore-time-conflict --no-options --no-default-keyring --homedir '/root/key' --no-auto-check-trustdb --trust-model always --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823然后gpg显示带有dirmngr的对话框:
gpg: DBG: chan_3 -> KEYSERVER --clear hkp://keyserver.ubuntu.com:80
gpg: DBG: chan_3 <- OK
gpg: DBG: chan_3 -> KS_GET -- 0x2EE0EA64E40A89B84B2DF73499E82A75642AC823
gpg: DBG: chan_3 <- ERR 167804976 Invalid argument <Dirmngr>
gpg: keyserver receive failed: Invalid argument
gpg: DBG: chan_3 -> BYE和dirmngr日志文件显示解析keyserver.ubuntu.com时出错:
2018-09-07 11:44:34 dirmngr[16174.6] DBG: chan_6 <- KS_GET -- 0x2EE0EA64E40A89B84B2DF73499E82A75642AC823
2018-09-07 11:44:39 dirmngr[16174.6] resolving 'keyserver.ubuntu.com' failed: Invalid argument
2018-09-07 11:44:39 dirmngr[16174.6] number of system provided CAs: 133
2018-09-07 11:44:44 dirmngr[16174.6] resolving 'keyserver.ubuntu.com' failed: Invalid argument
2018-09-07 11:44:44 dirmngr[16174.6] can't connect to 'keyserver.ubuntu.com': host not found
2018-09-07 11:44:44 dirmngr[16174.6] error connecting to 'http://keyserver.ubuntu.com:80': Invalid argument
2018-09-07 11:44:44 dirmngr[16174.6] command 'KS_GET' failed: Invalid argument为什么同一网络的一个机器无法解析来自dirmngr的keyserver.ubuntu.com,而新的机器成功了?为什么在旧的机器中,我可以用nslookup解析keyserver.ubuntu.com,而dirmngr不能?我不知道。但这两个机器之间的区别在于/etc/resolv.conf。我添加了google DNS服务器。从resolv.conf中删除它们可以使dirmngr正常工作。
nameserver 127.0.0.53
#nameserver 8.8.8.8
#nameserver 8.8.4.4 在此更改之后,apt-key就可以工作了。希望这能有所帮助。
发布于 2018-08-28 20:26:10
在官方SBT文档中有this note
证书说明:有关于使用Ubuntu的SSL错误的报告:服务器访问错误: java.lang.RuntimeException:意外错误: trustAnchors参数必须是非空的url=证书,这显然源于OpenJDK 9使用PKCS12格式的/etc/ssl//java/cacerts cert-https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.0/sbt-1.1.0.pom。根据https://stackoverflow.com/a/50103533/3827的说法,它在Ubuntu Cosmic (18.10)中得到了修复,但Ubuntu Bionic LTS (18.04)仍在等待发布。请参阅woraround的答案。
根据this的说法,这个问题已经在Ubuntu18.04.1中得到了解决。
https://stackoverflow.com/questions/51983144
复制相似问题