Windows 子系统助力 Linux 2.0

电子说

1.2w人已加入

描述

长期以来,Linux 和 Windows 之间的互操作一直是系统操作员面临的挑战。在过去的 20 年里,系统管理员使用模拟器、虚拟机,甚至重新编译的 UNIX 二进制文件在 Windows 上运行,以便访问他们需要的工具来管理在不同于他们的工作站的操作系统上运行的应用程序和服务。在运行 Windows 作为其标准化桌面操作系统的企业中工作的系统管理员和安全工程师必须找到创造性的方法来管理他们的 Linux 系统,而不仅仅是与运行 Linux 的远程主机的久经考验的真正安全外壳 (SSH) 连接。在过去的几年中,Microsoft 转向更明确地支持 Linux(以及一般的开源工具)。它将 SSH 直接整合到 Windows 中,允许系统管理员远程连接到其他 Linux 系统而无需第三方工具。2020 年 4 月,微软宣布发布 Windows Subsystem for Linux 2.0(WSL 2),它直接从 Windows 工作站直接支持 Linux 的最新版本。

20 多年来,Microsoft 一直支持 *NIX 操作系统。1999 年,Microsoft 发布了 UNIX 服务 (SFU),其中包括一个 POSIX 兼容模拟器,能够运行专门为其编译的 UNIX 软件子集。2016 年,微软发布了 Windows Subsystem for Linux 1.0(WSL 1),它提供了一个 Linux“兼容”的内核接口。使用 WSL 1,您可以在安装 Windows 的同时安装流行的 Linux 发行版。体验很好,尽管性能有时比运行 Linux 的虚拟机 (VM) 慢,并且并非所有硬件功能和系统调用都已启用。但对于需要在其 Windows 工作站上可在本地广泛访问的 Linux 环境的用户而言,WSL 1 成为了一个可靠的选择。

Microsoft 更新 WSL 2 架构有两个明确的主要目标:提高文件系统性能和添加完整的 Linux 系统调用兼容性。与 WSL 1 不同,WSL 2 依赖于 Linux 环境和 Windows 主机之间的转换层,WSL 2 将使用实际的 Linux 内核,Microsoft 将其调整为专门与其实现架构一起运行。WSL 2 内核将位于 Windows 管理程序之上的虚拟机中,与 Windows 操作系统本身并行。WSL 2 使用比 WSL 1 更多的虚拟化技术,但它的架构与简单地在 Hyper-V 上作为 VM 运行 Linux 发行版有很大不同。

与 WSL 1 一样,WSL 2 将支持您可以并行安装和运行的多个发行版。但是,每个发行版都将在一个公共虚拟机中运行,以尽可能保持 VM 的轻量级和主机系统的高性能。当您终止 Linux 应用程序时,VM 也会停止。WSL 管理运行 Linux 内核的 VM 与 Windows 用户界面之间的通信。例如,WSL 将标准输入输出从 VM 重定向到主机系统。(这意味着当您从 WSL 2 中运行 Bash shell 时,您将在 Windows 工作站的新窗口中看到输出。)

将 WSL 迁移到 VM 架构需要 Microsoft 更改在 Windows 和 Linux 环境之间访问文件的方式。在 WSL 1 中,Windows 和 Linux 环境共享相同的操作系统,并且在两个环境之间访问文件是直接的,因为 Linux 环境可以访问 Windows 新技术文件系统 (NTFS)。但是,由于 WSL 2 作为虚拟机运行,Microsoft 需要一种不同的方法来使文件系统对每个环境可见。Microsoft 利用文件服务器技术(预览版使用 Plan 9/9P 协议)在 Windows 和 Linux 环境之间提供文件服务。根据发出请求的环境,Windows 或 Linux 环境都可以充当文件服务器或客户端。例如,如果你想从 Linux 访问存储在 Windows 上的文件,

尽管采用了这种新架构,微软仍强调要确保 WSL 2 用户体验尽可能保持无缝。例如,通过在环境之间重定向标准输入和输出并使用文件服务器技术,您可以启动 Windows 编辑器来更改 Linux 文件。同样,在 Linux 环境中,您可以从 Bash 启动 cmd.exe 或 PowerShell 以对 Linux 文件进行操作,尽管二进制文件是从 Windows 环境运行的。

要安装 WSL 2,请订阅 Windows Insider 预览程序并将您的测试 Windows 10 工作站至少升级到版本 18917 或更高版本。

在提升的 PowerShell 提示符下,运行命令:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

并重新启动您的工作站。

将 WSL 的默认版本设置为 2.0 版:

wsl --set-default-version 2

访问 Microsoft 商店并按照说明下载并安装所需的发行版。该商店包括许多流行的发行版,包括 Ubuntu、openSUSE、Debian 甚至安全发行版 Kali。 

安装 kali 后,打开管理员 PowerShell 终端并通过运行以下命令确保 Kali 正在使用 WSL 2 运行:

wsl -l -v

要启动新安装的 Kali 发行版,请运行以下命令:

kali

Kali 将从这里开始,你可以像典型的 Linux 控制台一样操作,但现在可以使用 WSL 1 中不可用的一些工具。例如,在你更新和升级你的发行版之后,

sudo apt update

sudo apt upgrade

从这里,您可以下载并安装所需的程序,并且可能会对 WSL 2.0 提供的更广泛的兼容性感到惊喜。虽然官方发布日期尚未公布,但 WSL 2 已包含在 Windows 预览计划中。单击此处了解有关 WSL 的更多信息和详细信息,以及它是否可以很好地添加到您自己的工作站中。

结论

从您的主工作站访问您需要的所有工具可能会节省您的时间和精力,而 Microsoft 的 WSL2 使 Linux 管理员可以更轻松地从他们的 Windows 工作站访问他们的 Linux 工具。Microsoft 继续推进 WSL,为更多系统调用提供增强的性能和更广泛的支持,这意味着与系统管理员每天使用的工具具有更好的兼容性。WSL2 使得使用来自任一环境的常用工具在 Windows 和 Linux 环境中查找和编辑文件变得更加容易。 

审核编辑 hhy

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分