微软发布了适用于 Linux 的 Windows 子系统的新预览版,即 0.67.6 版,它带来了一些重大新闻。从此版本开始,适用于 Linux 的 Windows 子系统现在支持 systemd。
对 systemd 的最佳描述可能是官网提供的,将其描述为“Linux 系统的基本构建块套件”,它以进程 ID (PID) 1 运行,这意味着它是系统启动的第一个进程,它帮助其他组件启动。一些 Linux 发行版,如 Ubuntu 和 Debian,默认附带 systemd,这意味着有一些 Linux 应用程序依赖于它。通过此更新,适用于 Linux 的 Windows 子系统现在也支持它们。
一些依赖 systemd 支持的应用示例包括 snap,它是一个包管理器,用于在 Ubuntu 中安装和管理软件。有了这个,您可以使用诸如snap install轻松安装应用程序之类的命令。还有 microk8s,它可以让你在本地机器上快速运行 Kubernetes。
微软表示,它必须对 Linux 架构的 Windows 子系统进行更改,并对 WSL 初始化进程(之前以 PID 1 运行)进行调整以适应这种包含。允许 Linux 系统仍然与 Windows 组件通信以及保持与 Linux GUI 应用程序的兼容性存在一些挑战。需要注意的一点是,systemd 不会让您的 Linux 实例保持活动状态,这与之前的 WSL 实现不会有任何不同。除非您正在运行后台任务,否则关闭 Linux 控制台将终止您的会话。
如果您想在适用于 Linux 的 Windows 子系统中获得 systemd 支持,您需要从 Microsoft Store 下载最新的 WSL 预览版,您可以使用以下链接进行操作。此更新不会直接交付到Windows 11中内置的 WSL 版本,而且可能需要一段时间。