本文目的是将fedora 33和Microsoft WSL2结合使用。
如果您像我一样,可能会由于各种原因运行Windows系统。当然,您可以在虚拟机中或作为容器运行fedora,但是这些Fedora不能像Windows Linux子系统(WSL)那样轻松地融入普通的Windows体验。通过WSL使用Fedora将使您将这两种环境融合在一起,从而形成一个出色的开发环境。
为了使这一切正常进行,您需要一些基本知识。您应该正在运行Windows 10,并且已经安装了WSL2。为了简单起见,Microsoft建议将wsl2设置为发行默认版本,本文假定您已完成该操作。
接下来,您将需要一些解压缩xz文件的方法。您可以使用另一个基于WSL的发行版执行此操作,也可以使用7zip。
由于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了。
我更喜欢使用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。
uc电脑园提供的技术方案或与您产品的实际情况有所差异,您需在完整阅读方案并知晓其提示风险的情况下谨慎操作,避免造成任何损失。
浏览次数 145
浏览次数 172
浏览次数 63
浏览次数 73
浏览次数 70
未知的网友