WSL 现在提供 Systemd 支持

WSL 窗口

适用于 Linux 的 Windows 子系统是 Microsoft 开发的兼容层,用于在 Windows 10 上本地运行 Linux 可执行文件。

最近 有消息称 WSL 现在与 Systemd 兼容,这个新的 WSL 更新为流程和服务管理解锁了许多生活质量功能。 这包括对 snapd 的支持,它允许用户利用 snapcraft.io 上提供的所有工具和应用程序。

提到从 Systemd 添加到 WSL 的新支持对于希望在将服务应用程序部署到云之前在 WSL 中配置和开发服务应用程序的 Web 开发人员特别有用。

这意味着依赖 Systemd 使用或只是简单管理的应用程序现在可以在 Windows 10 和 Windows 11 上的这个 WSL 环境中无缝运行。

值得一提的是 此更新特定于 WSL2,第二代WSL。 WSL2 在专用虚拟机上运行完整的 linux 内核,使用 Windows 中内置的 Hyper-V 管理程序的功能子集。 WSL 的原始版本是一个非常不同的工具,它不包含完整的 Linux 内核。

在一篇博文中,Canonical 提供了一些技术细节。 并解释了如何在 WSL 中在 Ubuntu 上启用 Systemd。 微软的相应公告技术含量较低,但它确实描述了为实现此功能所做的一些重大更改,包括更改 WSL2 的工作方式。

Systemd 支持需要对 WSL 架构进行更改。 因为 Systemd 需要 PID 1,所以在 Linux 发行版上启动的 WSL 启动进程成为 Systemd 的子进程。 此外,由于 WSL 初始化过程负责提供 Linux 和 Windows 组件之间的通信基础设施, 更改此层次结构需要重新考虑使用 WSL 初始化过程所做的一些假设. 还必须进行其他更改以确保完全关闭并确保与 WSLg 兼容。

还需要注意的是,通过这些更改,Systemd 服务不会让您的 WSL 实例保持正常运行。 您的 WSL 实例将像以前一样保持活动状态。 微软补充说,该功能不会自动更新,以免给现有用户带来问题。 “由于这会改变 WSL 在启动时的行为,因此我们希望在将此更改应用于用户现有的 WSL 发行版时要小心。 目前,您必须选择为特定的 WSL 发行版启用 Systemd,”他说。

这种变化意味着使用 WSL 将更像是在基本机器上使用您最喜欢的 Linux 发行版,并且允许您使用依赖于 Systemd 支持的软件。 以下是一些依赖于 Systemd 的 Linux 应用程序示例:

snap :一个有用的二进制文件,允许您在 Ubuntu 上安装和管理软件;
microk8s – 让 Kubernetes 在您的系统上快速本地运行;
systemctl :一个工具,它是 Systemd 的一部分,与 Linux 机器上的服务交互。

可以说,对 Systemd 的支持 由适用于 Linux 的 Windows 子系统 得到了 Lennart Poettering 的帮助, Systemd 的创建者,几个月前对 Redmond 巨头(您可以查阅有关它的说明) 在下面的链接).

值得一提的是,微软近年来聘请了几位 Linux 开发人员和其他知名的开源开发人员。 微软目前聘用 Python 发明者 Guido van Rossum,GNOME 发明者 Miguel de Icaza 在 2016 年收购 Xamarin 时受雇于微软,Nat Friedman 担任 GitHub 首席执行官,Daniel Robbins,Gentoo Linux 创始人,受雇于微软 Steve French 为微软工作作为 Linux CIFS/SMB2/SMB3 维护者和 Samba 团队的成员。 此外,Linux 广泛部署在微软的云计算服务 Azure 上。

最后 如果您有兴趣了解更多有关它的信息,您可以在 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。