当前位置: 首页 > 科技观察

适用于Linux的Windows子系统(WSL)现在带来了期待已久的支持

时间:2023-03-19 10:00:55 科技观察

适用于Linux的Windows子系统(WSL)是一个兼容层,它允许Linux二进制可执行文件在Windows上本地运行。这是一项Windows功能,可让您在运行常规Windows桌面和程序的同时运行Linux。近年来,WSL因其简单性和灵活性而越来越受欢迎,减少了Windows用户运行整个Linux虚拟机来测试某些功能的需要。但是,由于缺少任何现代Linux系统(如systemd)的一些关键组件,WSL无法提供功能齐全的Linux体验。幸运的是,这块拼图终于落到了实处。不管是否巧合,这个改变游戏规则的功能是在systemd的创建者和首席开发人员LennartPoettering离开红帽加入微软两个多月后出现的。Systemd在LinuxforWindows子系统上的SystemdWSL中的存在将系统提升到一个全新的水平,开辟了许多可能性。例如,您可以在WSL系统中安装LEMP服务器,快速轻松地开发Web应用程序。此外,如果您使用Ubuntu,您现在可以利用Snap包管理器的强大功能。由于依赖于systemd的可用性,这在以前是不可能的。此外,我们可以继续说现在可以安装MicroK8s以允许您运行Kubernetes集群。因此,如前所述,这个新功能极大地扩展了可能性。当然,并非所有Linux发行版都使用systemd,但大多数现代发行版,包括Debian、Ubuntu、ArchLinux、Fedora、openSUSE等,都采用并依赖它。因此,现在让我向您展示如何在具有systemd支持的WindowsPC上更新WSL服务。如何为WSL添加Systemd支持?微软最新发布的WindowsSubsystemforLinux版本0.67.6为WSL添加了systemd支持。因此,要获得此功能,您必须先升级您的WSL版本。检查您当前使用的WSL版本的一种简单方法是运行:wsl--version请记住,如果此命令失败,则您使用的是Windows版本的WSL,并且必须升级到商店版本。然后,使用以下命令将您的WSL实例更新到最新版本。wsl--updateWSL可能会通知您没有可用的新版本。如果是这种情况,请按照以下说明手动升级您的WSL版本。转到GitHub项目页面并导航到“版本”部分以下载最新版本。当前预发布0.67.6(Microsoft.WSL_0.67.6.0_x64_ARM64.msixbundle)。下载文件后,您可以继续安装。但首先,您必须停止WSL服务。否则,安装将失败。因此,打开服务管理控制台,突出显示“Linux预览版的Windows子系统”服务,然后从右键单击上下文菜单中选择“停止”。最后,用管理员权限打开WindowsPowerShell控制台(右击,然后“以管理员身份运行”),执行:Add-AppxPackage"C:\Users\bobby\Downloads\Microsoft.WSL_0.67.6.0_x64_ARM64.msixbundle"当然,将实际文件路径替换为您系统的正确路径。安装完成后,启动“WindowsSubsystemforLinuxPreview”服务。在WSL发行版中启用Systemd支持到目前为止一切顺利。您的WSL服务现在具有systemd支持。但是,请务必记住,这不会自动将一个添加到您的Linux实例。换句话说,为每个Linux发行版单独手动启用它。幸运的是,这很容易。在发行版中,使用您喜欢的文本编辑器打开/etc目录中的wsl.conf文件。如果该文件不可用,只需创建一个新文件即可。sudonano/etc/wsl.conf粘贴以下内容,然后保存文件并退出。[boot]systemd=true最后,关闭您的WSL分发窗口,然后在PowerShell控制台中,通过键入以下命令重新启动您的WSL实例:wsl--shutdown就这样。您的WSL发行版现在应该具有systemd支持。启动分发并从其shell运行以下命令以测试此功能。结果应该类似于屏幕截图中的结果。我们希望我们能有所帮助。