Loading

Windows11 安装Arch Linux WSL2 记录

安装 WSL2

启用子系统和虚拟机平台 然后重启系统
image

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插件

可以参考

https://hufangyun.com/2017/zsh-plugin/

使用 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$ 访问

本文到这里就结束了,有疑问欢迎评论哦😉

posted @ 2021-07-02 21:46  白日醒梦  阅读(1292)  评论(0编辑  收藏  举报