Windows11 安装Arch Linux WSL2 记录
安装 WSL2
启用子系统和虚拟机平台 然后重启系统
WSL 2 要求系统版本应该在 Windows 10, Version 2004, Build 19041 及以上。
以管理员身份打开 powershell,运行如下命令以启动需要的组件:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启。并且在 此处 下载并安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包。
打开 powershell,运行如下命令以将 wsl 的默认版本设置为 WSL 2:
wsl --set-default-version 2
更新WSL
wsl.exe --update
安装 Arch WSL
在yuk7/ArchWSL - releases下载 Arch.appx / Arch.zip,解压,双击 Arch.exe 进行安装。详见ArchWSL documentation。
更换国内镜像源
PS: 以下部分都以 root 用户身份运行命令
passwd # 设置密码
# 设置软件源
echo 'Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
echo 'Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist
启用 multilib 库
multilib 库包含 64 位系统中需要的 32 位软件和库。
vim /etc/pacman.conf,取消这几行的注释:
[multilib]
Include = /etc/pacman.d/mirrorlist
并且取消该文件中 #Color 这一行的注释,以启用彩色输出。
添加 archlinuxcn 源
Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
vim /etc/pacman.conf
在文件末尾加上:
[archlinuxcn]
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
其他的见 https://github.com/archlinuxcn/mirrorlist-repo 最好是用自己学校的
然后:
# 初始化 keyring
pacman-key --init
pacman-key --populate
pacman -Syu # 更新
pacman -S archlinuxcn-keyring
pacman -Syy # 更新
创建用户
注:此处的 yourname 是你要创建的用户名
1. 新建用户。-m 为用户创建家目录;-G wheel 将用户添加到 wheel 用户组
useradd -m -G wheel yourname
2. 设置密码
passwd yourname
3. 因为 visudo 需要 vi
ln -s /usr/bin/vim /usr/bin/vi
4. 编辑 /etc/sudoers
visudo
将以下两行行首的#去掉
# %wheel ALL=(ALL) ALL
# %wheel ALL=(ALL) NOPASSWD: ALL
在 powershell 中进入到 Arch.exe 所在文件夹,设置 WSL 默认登陆用户和默认的 WSL:
.\Arch.exe config --default-user yourname
wsl -s Arch
重新打开,就是在 yourname 用户了。
安装常用软件
安装 yay
sudo pacman -S --needed base-devel
出现:: fakeroot is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n],选 n,接下来一直回车即可。
sudo pacman -S --needed yay
yay 换源
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
安装 ZSH
安装 Terminal 字体
给 windows 安装以下字体,并且改变 windows terminal 的字体设置(这里就不细说了):
MesloLGS NF powerlevel10k 作者推荐
FiraCode NF 我更喜欢这个
sudo pacman -S zsh
安装 OH MY ZSH
# 第一步 → 把 oh-my-zsh 项目 Clone 下来:
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
# 第二步 → 复制 .zshrc
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# 第三步 → 更改你的默认 Shell
chsh -s /bin/zsh
推荐ZSH插件
可以参考
使用 proxychains 代理终端程序
可以使用 windows 的 qv②ray/clash/ssr 等代理软件来代理 wsl 中的程序!先安装 proxychains:
sudo pacman -S proxychains-ng
首先,sudo vim /etc/proxychains.conf,将proxy_dns这一行注释。(这样能够让 proxychains 代理 yay)
如果用的是 WSL 1,那就 sudo vim /etc/proxychains.conf,将最后一行的 socks4 127.0.0.1 9095 修改为:
socks5 127.0.0.1 1080
这个 1080 是我的 ssr 的 HTTP 端口号,改成你自己的。如果你用的是 WSL 2,由于目前 WSL 2 和 windows 的 ip 不同,我们需要先cp -f /etc/proxychains.conf /.proxychains.conf,然后在/.zshrc中添加以下内容:
# 获取windows的ip
export WIN_IP=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`
# 删除 ~/.proxychains.conf 中 [ProxyList] 所在行到文件末尾的全部内容
sed -i '/\[ProxyList\]/,$d' ~/.proxychains.conf
# 往文件末尾添加socks5/http设置,这个 1080 是我的 qv②ray 的 socks5/http 端口号,改成你自己的
echo '[ProxyList]\nhttp '${WIN_IP}' 1080' >> ~/.proxychains.conf
# 设置别名;使用 ~/.proxychains.conf 作为proxychains的配置文件;让proxychains quiet(不输出一大串东西)
alias pc='proxychains4 -q -f ~/.proxychains.conf'
# 用来手动开关代理,建议走 http 协议,因为 wget 不支持 socks5
my_proxy=http://${WIN_IP}:1080
alias p-on='export all_proxy='${my_proxy}' http_proxy='${my_proxy}' https_proxy='${my_proxy}''
alias p-off='unset all_proxy http_proxy https_proxy'
然后:
# 在 yourname 用户中
sudo ln -s ~/.proxychains.conf /root/.proxychains.conf
source ~/.zshrc
如果你发现还是无法代理,那可能是因为你的代理软件没打开允许来自局域网的连接
选项
注:pc ping google.com是没有效果的,因为 proxychains 只会代理 TCP。
Tips
ArchLinuxx目录 从文件资源管理器 \\wsl$
访问
本文到这里就结束了,有疑问欢迎评论哦😉