WSL2安装和设置Archlinux
1. 安装WSL2
1.1 系统要求
对于x64的系统要求win10版本为1903 或者更高
1.2 启用WSL
管理员身份运行powershell命令
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
1.3 启用虚拟平台
管理员身份运行powershell命令
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
进行下一步前重启系统
1.4 下载并安装内核升级包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
1.5 设置WSL2为默认版本
管理员身份运行powershell命令
wsl --set-default-version 2
2. 安装Archlinux
2.1 下载并安装LxRunOffline
Releases · DDoSolitary/LxRunOffline · GitHub
2.2 下载archlinux启动包
到Index of /archlinux/iso/2022.03.01/,下载archlinux-bootstrap-xxxx.xx.xx-x86_64.tar.gz
2.3 安装并转换为WSL2发行版
管理员身份运行powershell命令
<LxRunOffline.exe的路径> i -n <自定义名称> -f <2.2中启动包的路径> -d <安装到的路径> -r root.x86_64
wsl --set-version <自定义名称> 2
2.4 进入系统并初始设置
运行powershell命令
wsl -d <2.3中定义的名称>
删除/etc/resolve.conf
并退出
rm /etc/resolve.conf
exit
运行powershell命令,重启Arch
wsl --shutdown <2.3中定义的名称>
wsl -d <2.3中定义的名称>
2.5 基本设置
此时Arch中并没有vim
等编辑器,编辑配置文件需要在windows中进行。
打开\\wsl$
路径
编辑
/etc/pacman.conf
,取消以下两行的注释,打开pacman
的颜色输出和多线程并行下载功能。Color …… ParallelDownloads = 5
在末尾添加以下两行,启用
Archlinuxcn
软件源[archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
编辑
/etc/pacman.d/mirrorlist
,取消注释,启用主软件源地址,我使用了上海交大的镜像源Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
2.6 初始化pacman和更新
pacman -Syy
pacman-key --init
pacman-key --populate
pacman -S archlinuxcn-keyring
pacman -S base base-devel vim git wget yay
2.7 用户管理
设置root密码
passwd
新建普通用户并设置密码
useradd -m -G wheel -s /bin/bash <用户名>
passwd <用户名>
编辑/etc/sudoers
,取消下面这行的注释,授予包括刚刚新建的用户在内的wheel
管理员权限
%wheel ALL=(ALL:ALL) ALL
2.8 设置普通用户登录
查看用户id并退出Arch
id -u <用户名>
exit
运行powershell命令
<LxRunOffline.exe的路径> su -n <自定义的发行版名称> -v <用户id>
3. 便利性设置
3.1 使用gentoo bashrc
Archlinux + KDE - Leo's Utopia
wget https://gitweb.gentoo.org/repo/gentoo.git/plain/app-shells/bash/files/bashrc -O ~/.bashrc
3.2 vimrc设置
修改~/.vimrc
来覆盖全局配置
" 配色设置
colorscheme desert
"tab设置
set tabstop=4 "tab显示为4个空格
set softtabstop=4 "退格遇到缩进时推4个空格
set shiftwidth=4 "每级缩进宽度,设置为和softtabstop一致
set noexpandtab "tab不替换为空格
set smartindent "自动缩进
"显示行号
set number
"符号补全
inoremap < <><ESC>i
inoremap ( ()<ESC>i
inoremap { {}<ESC>i
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap [ []<ESC>i
4. 参考
https://zhuanlan.zhihu.com/p/266585727