Microsoft 有与 Canonical 合作扩大其对 Linux 的支持的历史。例如,最近将 .NET 引入了 Ubuntu。微软表示,在两者之间的最新合作中,Canonical 帮助为 Windows Subsystem for Linux (WSL) 上的 systemd 铺平了道路。
由于这种支持需要对 WSL 进行重大更改,微软表示当前的支持是可选的。这意味着不希望其当前发行版受到影响的用户避免使用 systemd。不过,在反馈和预览后,微软表示默认会带来全面支持。
Canonical——Ubuntu 背后的公司——为微软提供了技术支持。根据这些公司的说法,WSL 最终获得 systemd 非常重要。许多流行的 Linux 发行版都使用该套件,它为 Linux 操作系统提供软件组件。
例如,Canonical 自己的 Snap 软件打包和部署系统就使用了该套件。
细节
在宣布支持的博客文章中,微软解释了将 systemd 引入适用于 Linux 的 Windows 子系统的技术方面:
“支持 systemd 需要对 WSL 架构进行更改。由于 systemd 需要 PID 1,因此在 Linux 发行版中启动的 WSL init 进程将成为 systemd 的子进程。由于 WSL init 进程负责为 Linux 和 Windows 组件之间的通信提供基础设施,因此更改此层次结构需要重新考虑使用 WSL init 进程所做的一些假设。
“ 必须进行额外的修改以确保彻底关闭(因为该关闭现在由 systemd 控制)并与 WSLg 兼容,同样重要的是要注意,通过这些更改,systemd 服务将不会让您的 WSL 实例保持活动状态。 ”
Windows 预览体验成员现在可以获取最新的 WSL 更新,然后在未来几周内面向所有用户。当然,你也可以通过 GitHub 手动抓取更新。