通过与 Canonical 深度合作,微软今日宣布了 Windows Linux 子系统的一项功能更新 —— WSL2 现可在兼容的 Linux 发行版中运行 systemd 来管理服务。依赖 systemd 使用、或想要借此来轻松管理应用程序的 Windows 10 / 11 用户,将能够在本次更新后更轻松地于 WSL 环境下体验。
(来自:Microsoft Developer)
微软在公告中解释称:
● 想要支持 systemd,需要对 WSL 的架构加以修改。由于 systemd 需要 PID 1,因此在 Linux 发行版中启动的 WSL init 进程将成为 systemd 的子进程。
● 其次,WSL init 进程负责为 Linux 和 Windows 组件之间的通信提供基础设施,因此更改此层次结构需要重新考虑使用 WSL init 进程所做的一些假设。
● 还有其它必要的修改,以确保正常关闭(clean shutdown)系统、并与 WSLg 兼容。
● 同样重要的是,通过这些更改,systemd 服务将不会让您的 WSL 实例保持活动状态。
● 不过相关 WSL 实例,仍可将像之前那样保持活动状态(详情请戳)。
WSL Partnering with Canonical to support systemd(via)
鉴于这番变动会更改 WSL 在启动时的行为方式,官方建议大家能够谨慎地将之应用于现有的 WSL 发行版。
通过有选择性地启用 systemd、并积极向微软提交监测反馈,以便开发团队能够深入调查、并为将来的默认设置奠定基础。