如何在Microsoft WSL2中使用Fedora 33

嚯嚯 发表于2020-11-12 15:52
浏览次数:
在手机上阅读
此文章约为1268字,阅读需要4 分钟

本文目的是将fedora 33和Microsoft WSL2结合使用。

如何在Microsoft WSL2中使用Fedora 33

如果您像我一样,可能会由于各种原因运行Windows系统。当然,您可以在虚拟机中或作为容器运行fedora,但是这些Fedora不能像Windows Linux子系统(WSL)那样轻松地融入普通的Windows体验。通过WSL使用Fedora将使您将这两种环境融合在一起,从而形成一个出色的开发环境。

先决条件

为了使这一切正常进行,您需要一些基本知识。您应该正在运行Windows 10,并且已经安装了WSL2。为了简单起见,Microsoft建议将wsl2设置为发行默认版本,本文假定您已完成该操作。

接下来,您将需要一些解压缩xz文件的方法。您可以使用另一个基于WSL的发行版执行此操作,也可以使用7zip。

下载Fedora 33 rootfs

由于Fedora并未提供实际的rootfs存档,因此我们将用于为dockerhub生成容器映像的存档。您将要从fedora-cloud GitHub存储库下载tar.xz文件,地址:https://github.com/fedora-cloud/docker-brew-fedora/tree/33/x86_64。有了tar.xz后,请解压缩它,但不要解压缩它。您最终想要得到诸如fedora-33-datestamp.tar之类的文件。制作完成后,就可以制作image了。

组成WSL Fedora构建

我更喜欢使用c:\distros,但是您几乎可以选择所需的任何位置。无论选择什么,请在导入构建之前确保存在顶层路径。现在,打开cmd或powershell提示,因为该导入了:

wsl.exe --import Fedora-33 c:\distros\Fedora-33 $HOME\Downloads\fedora-33.tar

您会看到Fedora-33出现在wsl的列表中:

PS C:\Users\jperrin> wsl.exe -l -v
NAME:STATE:VERSION
Fedora-33:Stopped:2

从这里开始,您可以在wsl中开始使用Fedora,但是我们需要做一些事情,以使其实际上可用作wsl发行版:

wsl -d Fedora-33

这将以root用户身份启动Fedora的wsl实例。在这里,您将安装一些核心软件包并设置一个新的默认用户。您还需要配置sudo,否则,如果以后需要安装其他程序,将无法轻松提升特权。

dnf update
dnf install wget curl sudo ncurses dnf-plugins-core dnf-utils passwd findutils

wslutilites使用curl和wget进行诸如VS Code集成之类的事情,因此它们很有用。由于您需要为此使用Copr存储库,因此需要添加的dnf功能。

添加您的用户

现在是时候添加您的用户,并将其设置为默认用户了:

useradd -G wheel yourusername
passwd yourusername

现在,您已经创建了用户名并添加了密码,请确保它们可以正常工作。退出wsl实例,然后再次启动它,这次指定用户名。您还将测试sudo,并检查您的uid:

wsl -d Fedora-33 -u yourusername
$id -u
1000
$ sudo cat /etc/shadow

假设一切正常,您现在就可以在Windows中为Fedora设置设置默认用户了。为此,请退出wsl实例,然后返回Powershell。此Powershell单行代码可以正确配置您的用户:

Get-ItemProperty 
Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio
n\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq 
Fedora-33  | Set-ItemProperty -Name DefaultUid -Value 1000

现在,您应该能够在不指定用户的情况下再次启动WSL,并成为自己的帐户,而不是root。

定制说明

在这里,您已经完成了在wsl中运行基本的Fedora 33设置,但是还没有Windows集成功能。如果需要此功能,可以启用一个Copr repo。如果您选择添加此部分,则可以直接在Shell内部运行Windows应用程序,并且可以轻松地将Linux环境与VS Code集成。请注意,Fedora基础结构未正式支持Copr。使用的话需要您自担风险:

dnf copr enable trustywolf/wslu

现在,您可以配置您的终端,设置Python开发环境,或者直接使用Fedora 33。

473 个用户觉得很有用

uc电脑园提供的技术方案或与您产品的实际情况有所差异,您需在完整阅读方案并知晓其提示风险的情况下谨慎操作,避免造成任何损失。

如此好文,分享给朋友

图片来源:网络

发表评论
验证码:
评论列表
共0条