让Windows上Linux子系统更像Linux
前言
以前安装Linux子系统基本上是 Debian
、Ubuntu
或者 SUSE
,不过个人比较习惯 RedHat
系的Linux发行版,在 WSL 1
的时候从github找过 CentOS
安装过,感觉不怎么好用,不过工作中大多数时间都是用Mac,所以就体验了下就删了
现在升级 WSL 2
了,闲来无事折腾一下,虽然CentOS已经不再是当初的CentOS了,但是Linux的发行版又有了新的"CentOS"
,比如 AlmaLinux
、RockyLinux
进入正题
本次主角 AlmaLinux
你问为什么选
AlmaLinux
不选RockyLinux
?当然是因为AlmaLinux
官方在Microsoft Store上架了App啦,一键安装不舒服嘛?
准备工作
- 安装
AlmaLinux 9
- 升级
WSL 2
开始折腾
为什么标题是"让Linux子系统更像Linux"?接下来一步一步的找出不像的点,再让它变得像Linux
1. 启用systemd
wsl2本身是由Windows负责运行的,使用的是Windows提供的init启动系统,不是systemd
如果你使用systemctl命令,则会提示"系统不是以systemd启动,无法操作"
|
|
执行pstree可以看到
|
|
而现在大多数发行版都是使用的systemd,这就导致了很多服务都没法使用,接下来解决它,改成使用systemd
直接在子系统中执行以下命令
|
|
然后切回Windows的Powershell执行
|
|
然后在打开wsl,因为刚才shutdown了wsl,这会打开wsl会稍微等个2-3秒,再次执行pstree
|
|
可以看到系统第一个进程显示为systemd了,再次执行systemctl可以看到正常显示所有服务了
2. 禁止加载Windows环境变量
平常使用wsl敲命令的时候,想按Tab补全,总是出现一大堆的Windows命令,看了就头疼,解决他!
直接在子系统中执行以下命令
|
|
切回Windows的Powershell执行
|
|
再次打开wsl,然后尝试使用Windows的命令,已经没有了!