Windows11 安装Arch Linux WSL2 记录
安装 WSL2
启用子系统和虚拟机平台 然后重启系统
WSL 2 要求系统版本应该在 Windows 10, Version 2004, Build 19041 及以上。
以管理员身份打开 powershell,运行如下命令以启动需要的组件:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
然后重启。并且在 此处 下载并安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包。
打开 powershell,运行如下命令以将 wsl 的默认版本设置为 WSL 2:
1 | wsl --set-default-version 2 |
更新WSL
1 | wsl.exe --update |
安装 Arch WSL
在yuk7/ArchWSL - releases下载 Arch.appx / Arch.zip,解压,双击 Arch.exe 进行安装。详见ArchWSL documentation。
更换国内镜像源
PS: 以下部分都以 root 用户身份运行命令
1 | passwd # 设置密码 |
启用 multilib 库
multilib 库包含 64 位系统中需要的 32 位软件和库。
vim /etc/pacman.conf,取消这几行的注释:
1 | [multilib] |
并且取消该文件中 #Color 这一行的注释,以启用彩色输出。
添加 archlinuxcn 源
Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
1 | vim /etc/pacman.conf |
在文件末尾加上:
1 | [archlinuxcn] |
其他的见 https://github.com/archlinuxcn/mirrorlist-repo 最好是用自己学校的
然后:
1 | # 初始化 keyring |
创建用户
注:此处的 yourname 是你要创建的用户名
1 | 1. 新建用户。-m 为用户创建家目录;-G wheel 将用户添加到 wheel 用户组 |
在 powershell 中进入到 Arch.exe 所在文件夹,设置 WSL 默认登陆用户和默认的 WSL:
1 | .\Arch.exe config --default-user yourname |
重新打开,就是在 yourname 用户了。
安装常用软件
安装 yay
1 | sudo pacman -S --needed base-devel |
出现:: fakeroot is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n],选 n,接下来一直回车即可。
1 | sudo pacman -S --needed yay |
yay 换源
1 | yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save |
安装 ZSH
安装 Terminal 字体
给 windows 安装以下字体,并且改变 windows terminal 的字体设置(这里就不细说了):
MesloLGS NF powerlevel10k 作者推荐
FiraCode NF 我更喜欢这个
1 | sudo pacman -S zsh |
安装 OH MY ZSH
1 | # 第一步 → 把 oh-my-zsh 项目 Clone 下来: |
推荐ZSH插件
可以参考
使用 proxychains 代理终端程序
可以使用 windows 的 qv②ray/clash/ssr 等代理软件来代理 wsl 中的程序!先安装 proxychains:
1 | 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 修改为:
1 | socks5 127.0.0.1 1080 |
这个 1080 是我的 ssr 的 HTTP 端口号,改成你自己的。如果你用的是 WSL 2,由于目前 WSL 2 和 windows 的 ip 不同,我们需要先cp -f /etc/proxychains.conf /.proxychains.conf,然后在/.zshrc中添加以下内容:
1 | # 获取windows的ip |
然后:
1 | # 在 yourname 用户中 |
如果你发现还是无法代理,那可能是因为你的代理软件没打开允许来自局域网的连接
选项
注:pc ping google.com是没有效果的,因为 proxychains 只会代理 TCP。
Tips
ArchLinuxx目录 从文件资源管理器 \\wsl$
访问
本文到这里就结束了,有疑问欢迎评论哦😉