在 WSL 2 中安装 Arch Linux
这几天重置了系统... 所以原先在系统内安装的 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 功能
启用 适用于 Linux 的 Windows 子系统,等待系统配置完成后重启。
安装 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(逃
然后页面上会展示你的系统信息,如图所示。
配置 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)的指引进行操作。
至此,基本配置就已全部完成。后续的桌面环境配置与日常使用等,可以参考下方扩展阅读中的内容。
参考资料
- ArchWSL 官方文档 (opens in a new tab)
- Arch-Install-Shell-Stable (opens in a new tab)
- Cannot find the strip binary - Arch Forum (opens in a new tab)
扩展阅读
- Arch Linux 安装使用教程 (opens in a new tab)
- Setting up Arch Linux with KDE Plasma in Windows Subsystem for Linux 2 (opens in a new tab)
- Arch Wiki (opens in a new tab)