ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows11 安装Arch Linux WSL2 记录

2021-07-02 22:03:05  阅读:921  来源: 互联网

标签:proxychains Arch pacman Windows11 etc proxy conf 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$ 访问

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

标签:proxychains,Arch,pacman,Windows11,etc,proxy,conf,Linux,WSL2
来源: https://www.cnblogs.com/orginly/p/14961365.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有