WSL GPG 『keyserver receive failed』问题

2021-10-11 14:13:37 +08:00
 2i2Re2PLMaDnghL

碰到过几次,搜索引擎找到命令输入莫名其妙地解决了,这次算是完全高清楚了。

背景

尝试使用 gpg --auto-key-retrieve --verify 时,会发生『 keyserver receive failed 』的错误。
第一反应当然是需要过代理,然而并没有效果。

TL;DR

是 dirmngr 未启动,所以只要启动一下就好了。(原样照抄的,大约有一半内容其实不需要)

sudo pkill dirmngr; dirmngr --debug-all --daemon --standard-resolver

排查过程

总之还是随便地把报错在网上寻找一番,在 StackOverflow 的某回答中找到上述命令。问题恰好解决了。

幸好,这次问题未解决前尝试过 gpg --debug-all,一对比,有问题的时候根本没有 dirmngr 的 trace,而问题解决后有很多条 dirmngr 的 trace

man dirmngr 的信息显示,从 GnuPG 2.1 版本开始,与 OpenPGP 服务器的连接全部由 dirmngr 接管。

然后再看 dirmngr 在原生 Ubuntu 上是怎么运行起来的?
使用 systemd 的 .socket 单元按需启动。而众所周知地,WSL 无论 1/2 的 init 都不是 systemd 。

站内搜索了一下 gpg 和 wsl 仅有一处提及 apt-key add 类似问题。根据启动方式原因,大概不适用于 apt-key add 命令。

所以 Microsoft 什么时候能让 init 适配一下 systemd 或者干脆别自写 init 了?

1024 次点击
所在节点    分享发现
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX