标签 WSL 下的文章

以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。

你使用 WSL 在 Windows 内运行 Linux 吗?你想知道如何关闭在 WSL 中运行的 Linux 发行版吗?

你当然可以在 WSL 中运行的 Linux 系统中 执行 shutdown 命令

sudo shutdown now

你还可以使用 wsl 命令关闭 Linux 系统。如果你有多个发行版在 WSL 中运行,这是一种极好的方法。

在 WSL 中使用 Windows 终端关闭 Linux 系统

在这个方法中,我假设通常的 shutdown 命令在 WSL Linux 系统中不起作用。

首先,在 Windows 中打开一个终端。在这里,我使用的是 Windows 11,并在 WSL 2 下安装了 Ubuntu。

打开 Windows 终端

? 你可以在标准的 Windows 终端上使用 wsl 命令。在运行的 Linux 发行版中也可以访问该命令。这里,命令的名称是 wsl.exe

现在,你需要列出已安装的发行版及其状态。为此,请输入

wsl --list --verbose
或
wsl -l -v

列出已安装的发行版

在这里,你可以看到,我已经安装了一个 WSL Ubuntu,它目前正在运行。

关闭所有正在运行的 Linux 发行版

有时,你可能想一次性停止正在运行的 WSL 实例。

在 Powershell 或 Windows 终端中,使用以下命令:

wsl --shutdown

这将关闭所有会话。

此外,你还可以在任何正在运行的 WSL Linux 发行版终端中执行相同的功能。在发行版中时,你只需要使用 wsl.exe 而不是 wsl

wsl.exe --shutdown

关闭所有正在运行的 WSL 发行版

运行此命令后,所有正在运行的 WSL 发行版都将终止。WSL 2 轻量级虚拟机也被终止。因此,如果你想重新启动 WSL 2 虚拟机环境,它将很有用。

终止特定的 Linux 发行版

要终止特定正在运行的 WSL 发行版,请打开单独的 Windows 终端并运行:

wsl --terminate <发行版名称>

此处,发行版名称是你使用 wsl -l -v ⁣ 命令列出所有已安装的 WSL 发行版时获得的名称。

列出 WSL 发行版

wsl --terminate Ubuntu

执行后,指定的 Linux 发行版将被终止。

如果你在另一个发行版中,请使用以下命令列出系统上安装的所有 WSL 发行版:

wsl.exe -l -v

现在,使用以下命令终止所需的发行版:

wsl.exe --terminate <发行版名称>

从另一个 WSL 发行版中关闭 WSL 发行版

总结

有些人直接关闭正在运行的 Linux 应用,但我认为这不太优雅。

另外,就像 Linux 终端一样,你可以使用:

  • logout 命令,用于关闭该发行版。
  • exit 命令用于退出运行 Linux 发行版的终端。
  • 或者,按 CTRL+D 执行与 exit 命令相同的操作。

但关闭 Linux 系统的 WSL 方式还有一个额外的优势,即可以针对多个 Linux 系统执行此操作。

我希望它对你有帮助。

(题图:DA/615fd564-a02c-4340-9c8f-ebabcc7c0e0c)


via: https://itsfoss.com/shut-down-wsl-distros/

作者:Sreenath 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

1 “Windows” 现在是一个 iOS 应用

微软为 iOS、iPadOS、macOS、Windows 和 Web 浏览器创建了一个新的 “Windows 应用”,用于在各种设备上访问其操作系统。该应用基本上沿用了之前的 Windows 365 应用,并将其变成了一个中心枢纽,用于从远程 PC、Azure 虚拟桌面、Windows 365、Microsoft Dev Box 和微软远程桌面服务流式传输 Windows 副本。目前,该应用还不支持安卓,以及仅限于企业用户。之前,微软的类似应用叫做“远程桌面连接”。

消息来源:The Verge
老王点评:这是除了把 Linux 变成 Windows 应用外,Windows 也变成了一个应用。

2 Linux 6.6 正式成为今年的 LTS 内核

每年的 LTS 内核往往是该日历年的最后一个稳定内核版本。Linux 6.6 于十月底发布。与此同时,Linux 6.7 应该在 2023 年的最后几天或 2024 年的最初几天达到稳定。所以今年的 LTS 版本的内核被选为 Linux 6.6,它将一直被维护到 2026 年 12 月的生命周期结束。与此同时,Linux 6.1、5.15 和 5.10 也将达到生命周期结束。

消息来源:Phoronix
老王点评:每年一个 LTS 内核,确实支持不过来。

3 微软为 WSL 添加企业安全功能

为了帮助企业管理 WSL,微软为 WSL 推出了新的企业安全选项。新功能包括通过微软的 Defender for Endpoint 监控 WSL 分发,通过 Intune 管理 WSL 及其关键安全设置,高级网络控制,以及 Windows 应用程序现在通过 WSL 插件与 WSL 集成,此功能用来提供了 Defender for Endpoint 的集成。

消息来源:Phoronix
老王点评:真是把 WSL 当成企业组件来看待了,而不是最初只是迎合很少的 Linux 程序员群体的想法了。

编者注:本文译自微软官方发布的指南。

Linux 是一款操作系统,与 Windows 有许多相似之处,但由于其开源和高度定制化的特性,衍生出众多的版本。安装 Linux 的前提是,你需要决定一个安装方式,并选定一个适合的 Linux 发行版。

要安装 Linux,你需要如下步骤:

  1. 首先,确定一个安装方式。你可以选择使用 Windows 的 Linux 子系统 Windows Subsystem for Linux (WSL)进行安装,也可以选择完全安装在物理硬件上(即裸机安装),或者在本地或云端创建一个虚拟机(VM)来运行 Linux。
  2. 其次,选择一个 Linux 发行版。如:Ubuntu、Debian、Kali Linux、OpenSUSE 等。
  3. 然后,按照你所选的安装方法进行操作。具体可以是以下四种方式之一:

    • 使用 Windows 子系统 Linux(WSL)中的安装 Linux 命令
    • 在云中创建一个 Linux 虚拟机(VM)
    • 在本机创建一个 Linux 虚拟机(VM)
    • 创建一个可引导的 USB,以安装裸机版 Linux
  4. Linux 安装完成后,你需要熟悉你所选发行版的包管理器,更新和升级可获取的包,并熟悉微软提供的 Linux 资源,比如培训课程、为 Linux 设计的流行工具、新闻以及开源活动等。

步骤 1:选择一个安装 Linux 的方法

至于如何选择安装 Linux 的方式,这主要取决于你的需求和喜好。

  • 如果你是 Linux 新手,我们推荐你首先尝试 Windows 的 Linux 子系统(WSL),这是入门 Linux 最简单的方法。
  • 如果你正在企业环境中工作,或你在处理的业务有更复杂的需求,如规模或安全性等方面,我们推荐你在云端运行 Linux 虚拟机,并查看 Azure 所能提供的帮助。此建议也适用于想要将 Linux 作为服务器的用户。
  • 如果你只想将 Linux 作为你主要的操作系统,可以选择在物理硬件上裸机安装 Linux,尽管这个安装过程稍微复杂一些,且你可能无法访问到 Windows 的工具(如 Outlook、Teams、Word、PowerPoint 等),但你可以全力发挥你硬件的全部性能,无需承担虚拟化或仿真的开销。

你可以在下文中了解这些选项的详细信息。

Windows 的 Linux 子系统(WSL)

Windows 的 Linux 子系统(WSL)是一个安装 Linux 的简便方式,适用于使用 Windows 机器的用户。这是安装 Linux 最简单的一种方式。你只需执行 Linux 的安装命令:wsl --install,即可安装 Ubuntu 发行版。

此方法通过虚拟技术,将 Windows 和 Linux 操作系统(后者运行在真实的 Linux 内核上)整合到一起。你可以根据需要添加任何数量的 Linux 发行版,并且可以方便地在 Windows 中运行你喜爱的 Linux 工具,包括图形界面应用。此外,你还可以在同一条命令行中混合使用 Bash 和 PowerShell 命令。在这种方式下,项目文件由 Linux 文件系统托管,你可能需要用到的开发工具(如 VS Code)则由 Windows 文件系统托管。此安装方式的效率高且性能优秀。选择 Linux 发行版(或默认的 Ubuntu 发行版)后,你可以按照 Windows 的 Linux 子系统下的 Linux 安装命令 进行操作,或在 WSL 文档 中查阅更多信息。

WSL install command screenshot

创建虚拟机(VM)

创建虚拟机(VM)的选项适合所有人,无论你正在使用 Windows 还是 MacOS。然而,如果你想在云端创建虚拟机,你需要有一个 Azure 账户,或者如果你打算在你的电脑上直接创建虚拟机,你需要安装虚拟化软件。

虚拟机实际上是真实计算机的数字版,对于在可能需要提高硬件支持(例如:需要更多内存和处理能力)以及安全级别(如防病毒、加密、备份、策略管理等)的环境中运行 Linux 的场景非常受欢迎。

就像使用 WSL一样,你可以根据自己的需求创建多个不同 Linux 发行版的虚拟机实例,这些虚拟机在相互独立的环境中运行,它们没有任何冲突,非常适合进行软件开发和测试。虽然在 WSL 上运行 Linux 发行版的性能稍微更优,但 Linux 虚拟机更易于复制和迁移。可以根据你的需求,在 Azure 等云服务上或者通过虚拟化软件(也称为 管理程序 hypervisor )在自己的电脑上创建虚拟机。

在 Azure 上创建虚拟机,实际上是在云端的微软的服务器上托管你的虚拟机,你只是在向微软租用计算资源以运行虚拟机。这种方式在当你需要快速配置新的虚拟机或需要运行需求超过你个人电脑能力的任务时,将非常方便。大规模企业,由于其对扩展性、控制和功能需求更高,往往选择 在 Azure 上运行 Linux 虚拟机

在本地计算机上创建虚拟机需要使用虚拟化软件,即管理程序。Windows 提供了一个名为 Hyper-V 的 “类型 1” 管理程序,可以直接在你的硬件上运行虚拟化。此外,还有一些在操作系统上运行的“类型 2” 管理程序,比如 VirtualBox 或 VMware。如果你使用的是 Mac,一般推荐使用的管理程序是收费的“Parallels Desktop”。如果你想了解更多关于在配备了苹果硅芯片的 Mac 上如何安装 Linux 虚拟机的信息,可以参考对应的 安装教程。需要指出的是,VirtualBox 支持 Windows 和 MacOS。有关于如何在苹果硅芯片或基于英特尔的 Mac 上设计并运行自定义 Linux 客户机的更多信息,请参考 这篇

使用虚拟机管理器时,你需要自行管理虚拟机,包括分配内存、磁盘空间等资源,并确保系统的安全和及时性。相比其他选项,这需要更多的技术专长,并且可能无法达到同等的扩展性和容错容忍度。

一旦你选定了 Linux 发行版,并决定是在 本地通过虚拟机管理器运行虚拟机,还是 在云端通过 Azure 运行,你就可以按照相应的说明,在云上或在本地创建 Linux 虚拟机。

Create a Linux VM on Azure screenshot

裸机 Linux

所谓的裸机 Linux,意味着 Linux 是直接在设备硬件上运行。要进行裸机安装,你需要从你选择的 Linux 发行版官方网站下载 ISO 安装文件,并从这个文件创建一个可启动的 USB 驱动器。为了完成这个步骤,你需要一个已经安装有操作系统(Windows 或者其他操作系统)的设备。

许多用户选择裸机安装 Linux,并在同一台设备上与 Windows 共存,这就需要利用所谓的“双启动”模式。使 Windows 和 Linux 能双启动,就需要对你的硬盘进行分区,以保证两个操作系统(Linux 和 Windows)都有各自独立的空间。尽管 WSL、虚拟机和裸机 Linux 的性能已经相差无几,但由于双启动方式需要在两个操作系统间切换的时候频繁重启设备,所以这种安装方式并不是首选。此外,如果选择裸机安装 Linux,还需要对可能出现的设备驱动或硬件兼容性问题做好准备。

你可以在 Linux.org 网站上找到各种可供下载的主流 Linux 发行版。在你选定一个发行版之后,按照指南制作一个 可启动的 USB 驱动器,进行裸机 Linux 的安装就可以了。

Create a bootable USB screenshot

步骤 2:选择一个 Linux 发行版

Linux 的不同版本被称为“发行版”。因此,实际上并没有一个简单的“安装 Linux”的方法,你需要首先选择你想下载和安装哪一个使用了 Linux 内核的发行版。目前存在超过 600 种活跃的 Linux 发行版,如 Ubuntu、Debian、Kali Linux、OpenSUSE 等。在选择发行版时,有许多因素需要考虑,如:

需要 Linux 经验

如果你是 Linux 新手,可能会首选 Ubuntu。由于其支持健全且易用,Ubuntu 是 Linux 用户的主要起点之一。Ubuntu 提供了桌面版和服务器版供你选择,具体使用哪个版本由你打算如何使用它决定。操作系统需要负责的具体任务可能帮助你确定使用哪个发行版。Arch Linux 对于希望具有高度自定义、自行决定如何配置,但仍然稳定且得到大用户群支持的用户来说是个不错的选择。从这个地方开始可能会更复杂,但可以帮助你更好地理解 Linux 如何工作。

系统要求

如果需要一个资源消耗较少,或者说“轻量级”的发行版,就需要考虑对内存和处理速度需求较低的发行版。Alpine Linux 是一个热门的选择,用户会发现大部分的功能默认关闭或者没有安装,但这个发行版仍有你运行一个容器化应用所需的所有东西。

安全需求

有些 Linux 用户可能有特殊的安全需求需要考虑。Kali Linux 是设计用于进行安全任务如渗透测试、安全研究、计算机鉴识和逆向工程的发行版的一个例子。

对商业和企业环境的需求

与普通用户环境相比,商业、企业或者学术环境可能有着各自独特的要求。红帽企业 Linux(RHEL)和 Oracle Linux 提供全天候的全球支持和订阅服务。CentOS 也是一款备受欢迎的企业级发行版,它由社区支持,同时与 RHEL 具有良好的兼容性。

社区支持

具有强大用户社区的发行版往往受到青睐,因为这样的社区可以持续对发行版作出贡献,包括修复问题,增加新的功能,解答使用中的问题等。Ubuntu 就是最受欢迎的发行版之一,而 OpenSUSE 的历史比大多数其他发行版更悠久,且仍然在活跃更新中。随着用户需求和喜好的变化,许多其他的发行版也迅速赢得了用户的喜爱。Linux.org 网站提供了一些资源帮助你了解哪些发行版具有良好的支持或正在日益受到欢迎。

Screenshot of the list of distributions on Linux.org

步骤 3:按照安装方法步骤执行安装

在 Windows 的 Linux 子系统(WSL)中安装 Linux

若在 Windows PC 上安装 Linux,需要执行 Linux 安装命令。

  1. 首先,通过右键点击选择 “ 以管理员身份运行 Run as administrator ” 来打开 PowerShell 或 Windows 命令提示符。
  2. 执行 Linux 安装命令:wsl --install
  3. 然后,重启你的电脑。

WSL Linux Install List Command screenshot

Linux 安装命令的选项

默认情况下,安装命令会选择 Ubuntu 的 Linux 发行版。你可以查看微软商店中的其它可用发行版,方法是输入命令:wsl -l -o 。如需安装 Ubuntu 之外的其它发行版,在安装命令后加上 -d 参数,然后输入你想安装的发行版的名称:

wsl --install -d <发行版名称>

若你想安装的发行版不在微软商店中,你可参照 WSL 文档,学习如何 导入 你想与 WSL 一起使用的任何 Linux 发行版。

若想获取更多关于如何使用 VS Code、Git、Database、Docker、GUI apps、GPU 加速、NodesJS、USB 设备、挂载磁盘、创建自定义发行版、管理磁盘空间、为企业业务设置 WSL 的信息,你可以查阅 WSL 的文档

在云端创建 Linux 虚拟机

若想在 Azure 云上创建由 Linux 支持的虚拟机(VM),你需要登录 Azure Portal,并选择 “ 创建虚拟机 Create a Virtual Machine ” 服务。然后,按照指示完成用户名、项目、实例、SSH 密钥、端口设置,并复制 IP 地址。

Azure 提供了多种在云上创建 Linux VM 的选项。你可以选择喜欢的方法创建 Linux VM,快速指南选择方法如下:

如果你还没有 Azure 订阅账户,可以在开始之前创建一个 免费账户。如果这是你第一次在 Azure 上创建 Linux VM,你可以学习更多 有关 VM 的知识,或者查看在线培训课程:在 Azure 上创建 Linux 虚拟机

Select Linux VM size on Azure screenshot

使用虚拟机管理程序在本地创建 Linux 虚拟机

要在你的本地机器上使用虚拟机管理程序创建 Linux 虚拟机,你可以选择使用:

首先,你需要根据你所选择的管理程序检查硬件需求。在管理程序启用或安装后,你需要确定你想要安装的操作系统类型及其安装源(一般为 .iso 或 .vhdx 文件)。给虚拟机命名,选择文件存储的目录,设置分配给虚拟机的内存和虚拟硬盘大小(通常可以在固定或动态分配的硬盘空间中选择)。由于显示驱动和其他硬件依赖关系,有时候整合 Linux 虚拟机可能比较棘手,但大部分的管理程序都有活跃的用户社区,可以提供必要的帮助。如果你希望你的虚拟机能够连接到网络,可能还需要设置一个虚拟网络。

如果你刚接触管理程序,想要了解更多的话,可以尝试免费的在线课程:配置和管理 Hyper-V 虚拟机

Hyper-V install screenshot

创建可引导的 USB 驱动器以安装裸机 Linux

如果你需要裸机的 Linux,不论是在设备上单独运行某个发行版,还是在该发行版和 Windows 之间进行双启动,皆可以按照以下步骤进行:

  1. 下载你所选的 Linux 发行版的镜像文件,一般是 ISO 文件,例如,你可以在 Ubuntu 桌面版下载 页面下载最新版的 Ubuntu 镜像。有些 Linux 发行版可能在下载前需要你验证镜像签名。
  2. 创建一个可引导的 USB 驱动器。你通常需要一个至少有 16GB 空间的 USB 驱动器。同样,你也需要一个可以创建引导驱动器的软件,例如 balenaEtcher、Rufus、UNetbootin 等。通常情况下,你选择的 Linux 发行版的下载页面会推荐使用哪种引导盘创建软件。
  3. 从 USB 驱动器启动你的设备。在设备重启时,你需要进入启动菜单,这通常通过在启动期间按下 F12 键来实现。然后你可以选择安装包含有你的 Linux 发行版本 ISO 文件的 USB 驱动器。
  4. 选择安装选项。通常,你的 Linux 发行版的安装器会包括一系列安装步骤,这些步骤中会包含是否包括某些特性、第三方软件包等的选项。你还可能需要在该 Linux 发行版会是唯一操作系统的情况下选择是否对磁盘进行清除,或者如果你计划运行多个操作系统,你可能需要使用一个分区。你也可能会被询问是否希望启用加密。
  5. 最后,与任何 Linux 安装一样,你需要创建一个用户名和密码。

Ubuntu install screenshot

步骤 4:Linux 安装成功后需要进行的操作

在你成功安装 Linux 发行版后,还需要进行以下几个重要的步骤:

  1. 首先,熟悉你选择的 Linux 发行版所使用的首选包管理器。Linux 通过包管理器来下载和更新你打算使用的所有软件。例如,Ubuntu 就使用了 Advanced Packaging Tool(APT)。
  2. 进一步,利用你的发行版的包管理器进行发行版的更新和升级。稳定的 Linux 发行版中的软件包往往已经过时,因此我们建议你定期更新你的系统。同时,你可能希望进行升级操作,它会更新你已经安装的所有包文件的版本。如你使用的是 Ubuntu,那么你可以运行命令:sudo apt update && sudo apt upgrade
  3. 除此之外,探索 Microsoft 提供的 Linux 资源 也非常重要,例如针对 Linux 的 Microsoft 工具(如 Visual Studio Code、.NET 和 PowerShell),Learn 目录中可供学习的免费 Linux 相关课程,以及关于事件、新闻和 Linux 组织与 Microsoft 之间的持续伙伴关系的信息,包括 Microsoft 支持的 Mariner 发行版。

(题图:MJ/36b362bf-a6c5-4e60-b279-65b67e157872/)


via: https://learn.microsoft.com/en-us/linux/install

作者:mattwojo 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

SaaS 公司退云节省了 100 万美元

SaaS 项目管理公司 37 Signals 的 CTO 此前表示,他的公司每年在云计算上花费 320 万美元,其中大部分花在 AWS 上。由于高昂的云服务费用,该公司推动了云遣返计划,花费了 60 万美元购买了 8 台大型服务器,每台服务器包含 256 个虚拟 CPU,并将它们托管。该公司 CTO 称,“我们的云计算支出已经下降了 60%,从每月约 18 万美元降至不到 8 万美元。”他补充说:“按年增长率计算,这相当于节省了 100 万美元,而且我们将在 9 月份再次大幅降低成本。”此外,该公司的运维团队的规模在此期间保持不变。

消息来源:The Register
老王点评:云计算并不仅仅是节省成本的。

英伟达显卡的开源 Nouveau 驱动维护者辞职

Nouveau 刚刚发布了一个大型补丁系列,使 Nouveau 内核驱动程序能够使用英伟达的 GSP 来改进对 RTX 20/30 系列硬件的支持,并最终在 RTX 40 GPU 上实现加速图形支持。几个小时之后,它的核心维护者辞职了。长期以来,红帽公司的 Ben Skeggs 一直是 Nouveau DRM 内核驱动程序的主要维护者,在很大程度上一直领导着 Nouveau 内核驱动程序部分。他发布消息称,“我已经辞去了在红帽的职务,并将退出 Nouveau 开发”。

消息来源:Phoronix
老王点评:虽然红帽在努力地封闭 RHEL 源代码,并且说了一些不中听的话。但无论如何,红帽养活了很多开源开发者,一旦他们离开了红帽,其贡献也很有可能就戛然而止。

微软发布了 WSL 2 的 2.0.0 版本

这是 Windows Subsystem for Linux 的一次重大更新,以 WSL v2.0.0 的形式发布在 GitHub 上。不要把它与 WSL 2 混淆,它实际上是 WSL 2 的 2.0.0 版(上一个版本是 1.3.17)。这个版本有许多更新,WSL 软件包中的所有二进制文件现在都已正确签名,WSL 内核已针对 Linux 5.15.123 进行了更新,WSLg 1.0.57 捆绑了最新的图形/用户界面支持。此外,还包括一些实验性功能,比如,可以减少 WSL 虚拟机回收缓存内存时的内存使用、可以改变 DNS 请求的解析方式、可以将 Windows 的防火墙规则应用到 WSL、自动使用 Windows 的网络代理信息等。

消息来源:Phoronix
老王点评:微软真是不遗余力地将 Linux 中的好东西都收罗到它的 Windows 中啊。

回音

  • Unity 在 讨论 新的政策,预计将对收费设定上限,对达到门槛的安装量不会追溯,对安装量的跟踪改为由客户自行报告。

六年后,微软称 WSL 达到一般可用

微软官方博客宣布,Windows Subsystem for Linux(WSL)的商店版本已经从预览阶段毕业,进入到一般可用(GA)阶段。WSL 已有六年历史,WSL2 也有两年多历史,支持运行 Linux 图形应用和 GPU 加速,支持 systemd。微软是在去年将 WSL 放到微软应用商店的,支持 Windows 10 和 11。

消息来源:Phoronix
老王点评:居然才成为正式版,合着之前一直算测试版啊。

游戏玩家已达 32 亿

Newzoo 的最新全球游戏市场报告显示,今年全球玩游戏的人数增长了 4.6%,有多达 32 亿游戏玩家。但游戏行业的收入为 1844 亿美元,是 15 年来首次下降,但这仍然比其它行业要好。

消息来源:Tech Spot
老王点评:终究还是游戏挣钱。

英特尔将在第四代至强处理器提供可选的按需服务

英特尔公司的软件定义硅服务(SDSi)被正式称为“英特尔按需服务”,这是一种可以付费购买启用处理器中特定功能的服务。根据计划,英特尔将在明年年初的第四代至强处理器(蓝宝石激流)上提供该功能。英特尔称,“可以选择功能齐全的高级产品,也可以在整个生命周期内随时挑选对其业务最重要的功能。”可以启用的功能包括:软件防护扩展(SGX)、快速辅助技术、动态负载平衡器、内存分析加速器、数据流加速器等等。

消息来源:The Register
老王点评:这给带来了更多的灵活性,可以一次性购买高端芯片,然后根据需要付费启用。

微软的 WSL 现已支持 systemd,为用户提供了更好的体验。你可阅读此文了解更多。

systemd 已可用于 WSL

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

更多 Linux 开发者们加入微软,systemd 的创建者也加入这一行列

而这已通过微软和 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 都依赖它。

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

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

它是如何实现的

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

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

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

你亦可访问他们的 官方文档 以了解更多。

在 WSL 上使用 systemd

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

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

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

wsl --version

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

wsl --update

此外,如果你不是 Windows 预览体验成员 Windows Insider ,你可以到 WSL 发行页面 下载它来体验。

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

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

[boot]
systemd=true

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

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

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


via: https://news.itsfoss.com/systemd-wsl/

作者:Sourav Rudra 选题:lkxed 译者:vvvbbbcz 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出