在wsl2中安装官方archlinux
背景
archlinux 在最近由官方提供了对于 wsl 的支持 https://github.com/microsoft/WSL/pull/12818,此前也有在 wsl 使用 archlinux 的方式,不过都是由社区提供的一些方案,例如:https://github.com/yuk7/ArchWSL。
fedora 也在近期提供了官方对于 wsl 的支持。https://github.com/microsoft/WSL/pull/12710。这两个发行版的变化,是因为 wsl 现在可以通过一个 .wsl
文件提供发行版,而不需要通过 Windows 应用商店,如果上架应用商店则需要通过微软的用户条款,诸多发行版对此都有所顾虑。
既然官方提供支持了,就想体验一番,我对 wsl 是没什么意见的,体现了微软的技术实力,在有了 systemd,vscode remote插件后,使用体验还不错。
安装
首先需要安装 wsl 组件,在 powershell 中运行
wsl --install
需要管理员权限,安装后需要重启电脑
查看目前在线支持的版本有哪些
wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。
NAME FRIENDLY NAME
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
Debian Debian GNU/Linux
FedoraLinux-42 Fedora Linux 42
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
archlinux Arch Linux
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-15.6 openSUSE Leap 15.6
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
安装 archlinux
wsl --install archlinux
正在下载: Arch Linux
正在安装: Arch Linux
已成功安装分发。它可通过 “wsl.exe -d archlinux” 启动
至此已经安装完成,但是 archlinux 什么性格大家也都懂,与其他发行版相比,安装后还需要做一些操作。但是已经比安装完整版系统少很多操作
安装后操作
关闭 Windows Terminal 并重新打开,在标签页下拉栏能看到 archlinux 选项,点击进入
根据官方建议,先更新
修改软件源
sudo sed -i '1i Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch\nServer = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch\nServer = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch' /etc/pacman.d/mirrorlist
更新
pacman -Syu
进入后默认是没有设置密码的 root 用户,首先为 root 设置密码
passwd
安装必要软件
pacman -S vim vi sudo
新建用户
useradd -m -G wheel 你的用户名
为新用户设置密码
passwd 你的用户名
配置 sudo
visudo
找到 # %wheel ALL=(ALL)ALL
,去掉前面的注释#
设置默认用户,修改 wsl.confg
添加如下内容
[user]
default=你的用户名
修改 locale 设置
vim /etc/locale.gen
找到 en_US.UTF-8 UTF-8
并取消注释这一行。
接着运行
locale-gen
编辑 /etc/locale.conf
将其中的 LANG=C.UTF-8
修改为 LANG=en_US.UTF-8
关闭 archlinux 终端,在 powershell 中输入
wsl --shutdown
再次打开 archlinux,可以看到用户已经变成新建的用户。
至此已经完成了基本修改,可以正常使用了,有其他需要则按需优化吧。遇到问题可以看下面的参考链接,官方的比较权威。