在 WSL 2 中安装 Arch Linux

Moe23333,dev

这几天重置了系统... 所以原先在系统内安装的 ArchWSL 也没有了。于是便准备重新安装一遍 ArchWSL,顺便把安装过程记录下来,发到 Blog 上 水篇文章 写篇教程。

准备工作

由于 WSL 1 在安装过程中存在很多问题,而 MS 早已推出了新版的 WSL 2 解决了许多问题 同时也引入了一些问题,所以此处我们选择在 WSL 2 中安装 Arch Linux。

参考微软官方文档,WSL 2 需要使用 Windows 10 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 系统。

下文截图均来自咱喵自用的 Windows 11 系统,但其它版本应该差别不大。

启用 WSL

注意:这一步你也可以选择直接在 Microsoft Store 安装 Windows Subsystem for Linux (opens in a new tab),更加便捷。安装完成后可以直接进入下一步 安装 ArchWSL

首先我们要启用 WSL(不启用怎么装啊喂!):按下 Win + I 快捷键以启动系统设置,在 应用 类别中找到 可选功能

可选功能设置项

在页面底部找到 更多 Windows 功能

更多 Windows 功能设置项

启用 适用于 Linux 的 Windows 子系统,等待系统配置完成后重启。

启用 WSL

安装 ArchWSL

重启后,前往项目官方 GitHub Releases (opens in a new tab) 下载最新版本的 ArchWSL。

为了方便且避免网络、环境变量等原因造成其它问题,这里我们选择下载 .appx.cer 格式且没有 online 字样的文件。

下载完成后打开 .cer 文件,点击“安装证书”,选择“本地计算机”,在下一个页面中选择“将所有的证书都放入下列存储”,点击“浏览”,选择“受信任的根证书颁发机构”,执行安装。

证书安装完成后,运行并安装刚才下载的 .appx 文件,在命令行页面等待配置完成后按任意键退出。

接着启动命令行,运行 arch 以启动刚安装好的 Arch Linux。等待配置完成后仅剩 root 等字样(如图)即为安装完成。

安装完成状态

配置 Arch Linux

安装完成后,我们需要配置 Arch Linux 系统才能开始使用。

在命令行执行 passwd 以设置 root 的密码。根据最小权限原则 (opens in a new tab),日常使用中,不能所有命令中都使用 root 权限进行操作,因此我们需要创建一个新的用户以供日常使用。

参照 ArchWSL 文档,在设置完成后,执行以下命令创建新用户并将其设为默认用户:

(将 {username} 替换成你要使用的用户名,注意请不要使用中文)

Tips:以下命令均可点击右侧的复制按钮一键复制哦!

首先设置 sudoers 文件:

echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel

然后添加用户

useradd -m -G wheel -s /bin/bash {username}

接着,设置默认用户密码

passwd {username}

设置完成后执行 exit 退出 Arch,在 Windows 的命令行内执行以下命令来设置默认用户:

Arch.exe config --default-user {username}

然后输入 arch 以重新回到 WSL 中,执行以下几条命令初始化密钥环 (Keyring)

sudo pacman-key --init
sudo pacman-key --populate
sudo pacman -Syy archlinux-keyring
sudo pacman -Su

由于国内特殊的网络状况,执行上述第 3 个命令时可能会出现问题,此时需要先配置国内镜像源。在 Arch 中执行以下命令:

curl -l -O "https://raw.githubusercontent.com/LS-KR/Arch-Install-Shell-Stable/main/ustc-mirror.sh"
sudo sh ./ustc-mirror.sh

考虑到 GitHub raw 在国内的访问被部分阻断,若 curl 命令无法执行,可以使用 Statically CDN (opens in a new tab) 提供的 raw 镜像:将上述链接替换为 https://cdn.staticaly.com/gh/LS-KR/Arch-Install-Shell-Stable/main/ustc-mirror.sh 后,再次尝试执行。

如果还是不行,也可以尝试使用 FastGit (opens in a new tab) 提供的 raw 镜像:将上述链接再次替换为 https://raw.fastgit.org/LS-KR/Arch-Install-Shell-Stable/main/ustc-mirror.sh

(截至本文发布时)由于 ArchWSL 仓库已经许久未更新,系统内部分包的版本过旧,建议执行 sudo pacman -Syyu 进行全面系统升级,避免后续配置时出现问题

至此,Arch Linux 的初次配置就完成了。

安装 yay

由于官方源没有部分软件,建议安装 AUR 助手(即 yay)

在 Arch 内执行 sudo vim /etc/pacman.conf,按 Shift + G 跳转到最后一行,按 I 键进入编辑模式后,在文件末尾新增以下内容:

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

输入完成后按 Esc 退出编辑模式,输入 :wq 并按回车键 Enter(保存并退出)

注:关于 Vim 的更多用法可以参考 Arch Linux 安装使用教程 (opens in a new tab) 以及 菜鸟教程 (opens in a new tab) 中的介绍,此处不再赘述。

编辑完成后执行 sudo pacman -Syy 以强制刷新包数据库;执行 sudo pacman -S --noconfirm archlinuxcn-keyring 以安装 ArchLinuxCN 的 Keyring。

以上命令完成后,接着执行 sudo pacman -S yay 以安装 yay。

安装 Hyfetch(可选)

执行 yay -S hyfetch 即可。 若安装过程中出现如下报错:

==> ERROR: Cannot find the strip binary required for object file stripping.
 -> error downloading sources: hyfetch
         context: exit status 15


 -> python not satisfied, flushing install queue
==> ERROR: Cannot find the strip binary required for object file stripping.
 -> error making: hyfetch

咱在查阅资料后得知,需要安装 base-devel:执行 sudo pacman -S base-devel 即可。

安装完成后,执行 hyfetch,一路回车即可。但在选择主题页可以自己选个主题,个人推荐 transgender(逃

然后页面上会展示你的系统信息,如图所示。

Hyfetch 页面

配置 systemd

WSL 并没有 systemd (systemctl) 的原生支持。如果你需要使用依赖 systemd 支持的程序,在 WSL 2 中可以使用容器 genie (opens in a new tab) 或使用 wsl-distrod (opens in a new tab)

Update 09-24:WSL 现在提供了官方的 systemd 支持:可以根据这里 (opens in a new tab)的指引进行操作。

至此,基本配置就已全部完成。后续的桌面环境配置与日常使用等,可以参考下方扩展阅读中的内容。


参考资料

扩展阅读

© Moe23333.RSS
推荐使用 Firefox 来浏览本站Privacy Policy