Notes about Installing Archlinux On WSL2

(博客很久没有写东西了,把一些以前攒的笔记整理出来放到这边来。)

我个人是挺不喜欢Debian/Ubuntu的(虽然工作因为各种原因一直在用)。WSL2自然还是想要用的相对符合自己喜好一些。这一篇的内容相当于上一篇有关wsl部分的扩充。

  1. archlinux的gitlab页面下载近期的构建产物的tar.zst(我一般选择的base-devel)。提取出来tar备用(不要解压tar= =)
  2. optionalfeatures启用系统相关的系统功能不用多说了。运行:
wsl --import <Distro name> <VHDX location> <tarfile>
  1. 进入wsl,此时默认以root进行登录。
  2. 去除/etc/pacman.conf内的所有NoExtract条目。这个是为了使man能够正常使用。
grep -v '^NoExtract' pacman.conf > pacman.conf.new
mv pacman.conf.new pacman.conf
  1. 此时可以运行pacman刷新已经安装的软件包。
pacman -S $(pacman -Qq $(pacman -Fq /usr/share/man/ | cut -d/ -f2) 2> /dev/null)
  1. 安装基础所需
pacman -Sy
pacman -S utils-linux man-db man-pages cmake make vim
  1. vi键位会抽风,用vim代替
ln -s /usr/bin/vim /usr/bin/vi
  1. 在/etc/locale.gen里面启用en_US UTF8,然后运行locale-gen
  2. 删除/etc/pacman.conf内的NoProgressBar
  3. 如果使用systemd,新建/etc/wsl.conf,内容如下:
[boot]
systemd=true
  1. 创建用户目录,useradd新的用户
  2. 退出wsl,以管理员权限运行以下powershell命令,将默认登录用户指向刚才创建的用户
Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq <Distro name>  | Set-ItemProperty -Name DefaultUid -Value 1000
  1. 再次wsl登入,切换到$HOME,建立.bash_profile内容如下,使.bashrc能够正常执行:
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

至此基础配置全部完成。