云网牛站
所在位置:首页 > Linux教程 > 在Microsoft WSL2中使用Fedora 33

在Microsoft WSL2中使用Fedora 33

2020-11-12 11:14:40作者:谢盖稿源:云网牛站

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

在Microsoft WSL2中使用Fedora 33

 

前言

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

 

先决条件

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

接下来,您将需要一些解压缩xz文件的方法,参考在CenOS/Ubuntu/Debian上提取.xz文件的方法。您可以使用另一个基于WSL的发行版执行此操作,也可以使用7zip。

相关参考:

1]、在Windows 10 May 2020 Update上安装WSL 2,以使用Ubuntu 20.04

2]、从Ubuntu for WSL 1升级成WSL 2的命令及设WSL 2为默认版本

 

下载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\CurrentVersion\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。

 

相关主题

安装Fedora 33指导:附Fedora 33安装全过程截图

精选文章
热门文章