进一步阅读

进一步阅读

我无法在 windows linux 子系统上启动 sshd 服务。我使用sudo service ssh restart,然后我得到

initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
sshd: ../sysdeps/posix/getaddrinfo.c:2583: getaddrinfo: Assertion `(__extension__ ({ const struct in6_addr *__a = (const struct in6_addr *) (sin6->sin6_addr.__in6_u.__u6_addr32); __a->__in6_u.__u6_addr32[0] == 0 && __a->__in6_u.__u6_addr32[1] == 0 && __a->__in6_u.__u6_addr32[2] == __bswap_32 (0xffff); }))' failed.
Aborted (core dumped)

我确定我的计算机上的 22 端口可用。

答案1

问题initctl很简单,Linux 的 Windows 子系统不运行 Upstart,也不运行任何其他服务管理器。没有暴发户可以与之交谈。 Ubuntu 14 软件包维护脚本(和其他脚本)宁愿假设 Upstart 的存在,而无需进行正确检查。升级到 Ubuntu 16 时,这与在 Windows 子系统上运行 Ubuntu 14 工具一样,都是一个问题,其中服务管理器更改为 systemd,并且(通过 AskUbuntu Stack Exchange)许多工具仍在寻找 Upstart。对于Linux。

实际断言失败是一个已知问题,显然已于 2016 年 10 月修复。它与 IPv6 和 IPv4 的组合支持有关。 GNU C 库假设有关仅 IPv4 模式下的 IPv4 映射 IPv6 地址的一件事。 Windows NT 内核和 Windows Linux 子系统提供了另一个。

进一步阅读

相关内容