0 开场白
这篇博客给大家介绍一下在 wsl2
下安装 ArchLnux
的简化方法。好几年前,安装过一次,比较麻烦,当时印象中还得使用 libreoffice
并且当时 systemctl
还不能用,总之,用起来呐,也能用,只是麻烦一些,后面换电脑或者在其他电脑上整的话,还得再来一遍,还是比较麻烦的。
最近无意中发现 github 上有人提供简化安装方式,这里给大家尝试一下。
1 安装
1.1 前提条件
想使用wsl2
,基础的 windows
环境必不可少。
1.1.1 启用 Linux 子系统的功能
1.1.2 更新到 wsl2 并设置默认
# 更新wsl
wsl --update
# 将默认版本设置为2
wsl --set-default-version 2
1.2 下载安装
使用起来很简单啊,先去下载 zip 压缩包,各位直接去下载最新的即可
https://github.com/yuk7/ArchWSL/releases/
然后解压到自己的目录中,按照要求该目录必须可写入文件,因此建议放普通的D盘中,比如:D:\wsls
解压后长这样,可以把Arch.exe
换个名字,这样就可以同时运行多个,我为了演示就又搞了一个
以上完成后,直接运行 Arch.exe
即可安装,当然了,这里都是默认设置好的一些安装,玩 ArchLinux
的都知道,安装 ArchLinux
是一个不小的事情,自己安装的话。分区、安装、网络、GRUB等等,给一个官方中文参考:https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97。
强烈建议,自己照着文档在虚拟机上面安装试试,对理解 Linux
非常有帮助,不太建议直接在 wsl2
上直接拿这个练手,影响因素太多。
好了,废话不多说,继续。
双击运行 Arch.exe
之后,长这样:
然后,按 Enter
键会退出窗口,安装就已经ok了(是不是很简单~)
1.3 wsl配置
安装之后,去 wsl 上面看一下,应该能看到刚才安装的,打开控制台(CMD),输入下面来查看当前 wsl
安装了哪些 Linux
wsl --list
可以看到,我这儿有两个啊,Arhc
是我之前已经装好的,下面的就是刚才的,可以看到,安装的名字就是按照 .exe
文件的名字来的,因此想要运行多个,就可以像我这样,起个不同的名字。可以见到我上面有个默认
,指的是想运行并进入 wsl 的时候,可以直接输入 wsl
而不指定名字,就能直接进入默认的 Linux
下。这样设置:
wsl --set-default Arch
这样,想进入我们刚才安装的系统的话,在 windows
下的控制台,直接输入:wsl
或者像我多个的话,想要进入非默认,就得指定名字:
wsl -d ArchForTest
进来之后这样,没关系昂。可以看到,已经是 root
登录了,下面我们进行基础的设置。
2 ArchLinux配置
说到配置,其实每个人有自定义的,但是一些基础的少不了,我把我相关的配置介绍一下。
2.1 基础账号
上来先重置 root 密码
passwd
输入两次 root 账号密码即可
最好再来个自己的账号吧,毕竟是自己要使用的,也不是专做服务器的,自己账号肯定得有 sudo 权限
# 默认有个 wheel 组,因此我们可以直接把这个组设置有 sudo 权限,然后创建账号时候直接放这个组就行
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
# 添加账号到 wheel 组,后面 chunxiao.li 是我自己的,你们记得改成你们的
useradd -m -G wheel -s /bin/bash chunxiao.li
# 设置新账号的密码(记得改用户名)
passwd chunxiao.li
然后就可以通过自己新的账号登录了,可以修改 wsl 配置,让默认登录该账号:
Arch.exe config --default-user chunxiao.li
这个方式我这次试没成功啊,报错了:
ERR: wsl: �hKm0R localhost �NtM�n
�FO*g\��P0R WSL0NAT !j_
N/ec localhost �Nt0
1000
&errors.errorString{s:"w\x00s\x00l\x00:\x00 \x00\xc0hKm0R \x00l\x00o\x00c\x00a\x00l\x00h\x00o\x00s\x00t\x00 \x00\xe3N\x06tM\x91n\x7f\f\xffFO*g\\\x95\xcfP0R \x00W\x00S\x00L\x00\x020N\x00A\x00T\x00 \x00!j\x0f_\vN\x84v \x00W\x00S\x00L\x00 \x00\rN/e\x01c \x00l\x00o\x00c\x00a\x00l\x00h\x00o\x00s\x00t\x00 \x00\xe3N\x06t\x020\r\x00\n\x001000"}
有可能是因为我这个是第二个实例,如果有跟我类似的情况,可以用下面这种方式试试:
# 进入wsl中
wsl -d ArchForTest
当然如果只有一个默认的,直接输入 wsl 即可
# 编辑 wsl.conf
vim /etc/wsl.conf
# 在最后加上如下配置
[user]
default=chunxiao.li
保存即可,vim 大家应该都会用吧,我不做介绍了啊
如图:
这样操作之后,下次进来就是自己的账号了。
2.2 软件包基础配置
首先设置国内源:
# 按说得备份下,不过其实也没问题,直接搞
sudo vim /etc/pacman.d/mirrorlist
# 可以像我一样直接在最前面,加上国内的,比如
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
另外,经常会遇到各种 Keyring 相关问题,这里直接设置好
sudo pacman-key --init
sudo pacman-key --populate
sudo pacman -Syy archlinux-keyring
然后,肯定得更新一下系统
sudo pacman -Syyu
顺带着把 AUR 相关的也弄上
sudo vim /etc/pacman.conf
# 在最下面加上下面内容
## 北京外国语大学 (北京) (ipv4, ipv6, http, https)
[archlinuxcn]
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# 然后执行并安装 yay
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
sudo pacman -S yay
最后装一下一些必要组件
sudo pacman -Sy --needed base-devel git
2.3 常用软件
上面说完了基础配置,这里继续整一下,毕竟常用软件还没完事
2.3.1 oh-my-zsh
终端应该少不了,我本来以为得先搞下面的代理才行,但是发现现在貌似不需要,也能安装成功,那就先来这个
这个就是终端的美化,不然的话默认多丑,比如
装之后,类似这样:
这样就行,亲测,不开代理也可完成
# 安装 zsh
sudo pacman -S zsh
# 切换默认终端为zsh
chsh -s /usr/bin/zsh
# 安装oh-my-zsh
sh -c "$(curl -fsSL https://install.ohmyz.sh/)"
贴一个 oh-my-zsh 官网:https://ohmyz.sh/
然后就是设置,可以找一个自己喜欢的主题,我一般用这个简单的 ys
可以在这里找到所有的主题:https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
这样替换:打开 .zshrc 文件(安装zsh后,先退出一下,再重新进来,应该是有这个文件才对)
vim ~/.zshrc
找到:ZSH_THEME="robbyrussell"
,后面更改成自己喜欢的即可,比如我的:
ZSH_THEME="ys"
,然后更新下配置文件
source ~/.zshrc
可以再装个软件,neofetch,貌似这个不再维护了,可以换这个:fastfetch
# 安装
sudo pacman -S fastfetch
# 执行
fastfetch
啊,舒服了!
2.3.1 代理
干啥用?啥也不说直接干,当然,如果不需要的直接跳过哈
找过好多,简单来整的话,可以参考我这个,就是在配置文件中,定义命令别名,在里面启用主机(Windows)的代理
话不多说,在 ~/.zshrc
中加入下面内容,PROXY_HOST对应的是主机的ip,建议直接使用 wsl 那个网卡,类似于这样:以太网适配器 vEthernet (WSL (Hyper-V firewall)):
# 配置代理的 IP 和端口
PROXY_HOST="172.30.48.1"
PROXY_PORT="7890"
function proxy-on() {
export http_proxy="http://$PROXY_HOST:$PROXY_PORT"
export https_proxy="http://$PROXY_HOST:$PROXY_PORT"
export all_proxy="socks5://$PROXY_HOST:$PROXY_PORT"
export no_proxy="localhost,127.0.0.1,::1"
echo "Proxy enabled"
}
function proxy-off() {
unset http_proxy
unset https_proxy
unset all_proxy
unset no_proxy
echo "Proxy disabled"
}
这样,在需要的时候,就执行一下 proxy-on,不需要的时候,就 proxy-off(改动.zshrc文件后记得用 source 命令更新)
看效果:
这是启用前:
这是启用后:
话在最后
这是一个系列,大家也可以通过上面看到,我的pc是带 4060 的,虽说还是有点儿辣鸡,但不影响搞一些模型的测试啊,搭建什么的。因此,这一篇只是先把基础环境整理好,也就是说,大家只要有 windows,也可以做一系列的事情。
下一期,应该会介绍 docker,以及 ollama
以及部署常见的大模型的基础使用。
感谢各位,我是晓风轻寒,期待您的下次光临。