本文目的是将Fedora 33和Microsoft WSL2结合使用。
前言 如果您像我一样,可能会由于各种原因运行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。
相关主题 |