查看原文
其他

systemd 已可用于 WSL | Linux 中国

邀你一起加入 Linux中国 2022-12-31
 
导读:微软的 WSL 现已支持 systemd,为用户提供了更好的体验。你可阅读此文了解更多。       
本文字数:1664,阅读时长大约:2分钟

WSL(Windows 的 Linux 子系统(Windows Subsystem for Linux))终于拥有了对 systemd 的支持,这是在 systemd 的创建者加入微软的几个月后实现的。

🔗 news.itsfoss.com

而这已通过微软和 Cannonical 的合作成为可能。

如果你好奇 systemd 是什么

systemd 是一套 Linux 系统的基本组成模块。它提供了一个系统和服务管理器,作为 PID 1 运行,并启动系统的其他部分。

来自:🔗 systemd.io

它作为一个初始化系统,启动并维持用户空间其他服务的正常运行。

让我们看看它是如何被引入 WSL 的。

systemd 增强 WSL 的体验

在 WSL 中引入 systemd,主要是为改善 Windows 机器上的 Linux 工作流程。

像 Debian、Ubuntu、Fedora 等,都是默认运行 systemd 的。因此,这项整合将使这些发行版的用户更方便地在 WSL 上做更多工作。

很多关键的 Linux 程序也是靠 systemd 实现的。例如 snap、microk8s 和 LXD 都依赖它。

即使我们有 🔗 itsfoss.com 可用,它们也并不适合所有人。因此,在 WSL 上添加对 systemd 的支持是很有意义的。

systemd 的存在也使得在 Windows 中使用更多工具来测试和运行成为可能,从而带来更好的 WSL 体验。

它是如何实现的

WSL 背后的团队必须修改其架构,它们让 WSL 的初始化进程在 Linux 发行版中以 systemd 的一个子进程启动。

正如其 🔗 devblogs.microsoft.com 所述,这样做使得 WSL 初始化程序能够为 Windows 和 Linux 子系统之间的通讯提供必要的基础。

它们还做了额外的修改,通过防止 systemd 保持 WSL 实例的活动以确保系统的干净关机。

你亦可访问他们的 🔗 learn.microsoft.com 以了解更多。

在 WSL 上使用 systemd

现有的 WSL 用户必须在他们的系统上手动启用 systemd,以防止由于 systemd 的引入而导致的启动问题。

首先,你必须确保你的系统运行的是 0.67.6 或更高版本的 WSL。

你可以通过以下命令检查你的 WSL 版本。

  1. wsl --version

如果你正在运行旧版本,你可以通过 微软应用商店(Microsoft Store) 或者以下命令更新它。

  1. wsl --update

此外,如果你不是 Windows 预览体验成员(Windows Insider),你可以到 🔗 github.com 下载它来体验。

为了让 systemd 在你的系统上运行,你需要修改 🔗 learn.microsoft.com 这个文件以确保 systemd 在启动时运行。

在 wsl.conf 添加以下几行以使 WSL 在启动时运行 systemd

  1. [boot]
  2. systemd=true

最后,重启你的 WSL 实例以见证更改。

随着对 systemd 的支持,微软在 WSL 的发展又前进了一大步,这将使得 WSL 吸引更多用户。

💬 是否对 WSL 支持 systemd 感到兴奋?或是你更喜欢无 systemd 的发行版?


via: 

作者: 选题: 译者: 校对:

本文由  原创编译, 荣誉推出


LCTT 译者 :自由的铁矿🌟翻译: 1.0 篇|贡献: 1 天2022-09-24→2022-09-24https://linux.cn/lctt/vvvbbbcz
欢迎遵照 CC-BY-SA 协议规定转载,如需转载,请在文章下留言 “转载:公众号名称”,我们将为您添加白名单,授权“转载文章时可以修改”。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存