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

https://zhuanlan.zhihu.com/p/407555801

https://zhuanlan.zhihu.com/p/51270874

标签: none

添加新评论