免费在 Microsoft WSL2 上使用 fedora 33

Using Fedora 33 on Windows 10 WSL2

wsl-fedora33

喜欢 fedora 的小伙伴可能苦恼过这样一件事:为什么在 Microsoft Store 上 Ubuntu for WSL 是免费的,而 Fedora Remix for WSL 却需要 71 大洋(点名批评 Whitewater Foundry)。

现在把它抛在脑后吧,简单几步,用上“白嫖”的 fedora for WSL:

以下内容译自 Using Fedora 33 with Microsoft’s WSL2 - Fedora Magazine

1. 安装 Fedora for WSL

1.1 下载 Fedora 33 rootfs

  1. 下载地址:
    https://raw.githubusercontent.com/fedora-cloud/docker-brew-fedora/33/x86_64/fedora-33.20201110-x86_64.tar.xz

  2. 解压但不解包,使文件以 tar 结尾

1.2 导入 Fedora 33

  1. 建立安装目录,例如 c:\distros

  2. 打开 cmd 或 powershell,导入

    1
    wsl.exe --import Fedora-33 c:\distros\Fedora-33 $HOME\Downloads\fedora-33.tar
  3. 查看 Fedora-33 是否导入

    1
    2
    3
    PS C:\Users\jperrin> wsl.exe -l -v
    NAME STATE VERSION
    Fedora-33 Stopped 2
  4. 启动(以 root 用户)

    1
    wsl -d Fedora-33
  5. 安装必要软件包

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

2. 为 feodra 添加用户

  1. 在 Fedora-33 WSL 中输入以下命令:

    1
    2
    useradd -G wheel yourusername
    passwd yourusername
  2. 测试用户可用性

    退出 wsl 并以 yourusername 登陆

    1
    2
    3
    4
    wsl -d Fedora-33 -u yourusername
    $id -u
    1000
    $ sudo cat /etc/shadow
  3. 一切正常后在 powershell 设置 yourusername 为默认用户

    1
    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

3. 启用 Windows 集成 [可选]

在 wsl 中添加 trustywolf/wslu

1
sudo dnf copr enable trustywolf/wslu