wsl添加systemd
最近突然看到wsl可以支持 systemd 了!嚯!总算是等到它了。为什么这么期待它呢?因为wsl有了systemd就会变得更完整了。主要的影响就是可以用 systemctl 管理软件服务了。话不多说,开整。
原文链接
Systemd support is now available in WSL!
Craig Loewen September 21 2022
Systemd support lands in WSL – unleash the full power of Ubuntu today
Oliver Smith 21 September 2022
放弃wsl安装wsl2
详细步骤
不过很遗憾的是wsl好像是不支持的,只支持wsl2,所以只能从MS Store里面下载新版本的wsl2,如果之前设置默认版本是wsl1的话,可以用下面的命令改回去。
|
|
因为 Windows11 预览版 自带Windows Subsystem for Linux Preview,所以 wsl --version
可以正常显示:
|
|
如果你 wsl --version
报错,不要怕,在 MS Store下载 Windows Subsystem for Linux Preview 就可以解决这个问题。
不过还有一个问题,那就是截止到目前 2022年9月24日10点58分 MS Store的版本还是0.66.2 如下:
|
|
并不能达到 0.67.6 及更高版本 的要求。所以建议想尝鲜的可以直接去GitHub下载
极速版
安装完那个msixbundle以后就可以开始安装wsl2了。当然我这是在有wsl1的基础上的步骤。你要是Windows11 预览版那就可以直接安装Ubuntu-22。因为它默认就是wsl2 并且 WSL 版本为 0.66.2。不是Windows11预览版就按上面的来,装Windows Subsystem for Linux Preview就可以了。
安装wsl2
直接在MS Store搜索Ubuntu就可以了,来个最新版本的哈。然后下载完成后有一个wslg的界面,大概就是配置界面,设置一下语言&密码就可以了。wslg安装界面示例如下:
安装完成后和wsl1是差不多的。这个时候可以执行一下 pstree
看看
|
|
嗯!这个是wsl1的,wsl2的我忘了整了,不过大概也是这样的,基于init启动的系统,并不是systemd。
开始设置systemd
然后来换个国内的源:
|
|
升级systemd
|
|
编辑 /etc/wsl.conf
|
|
添加下面的配置到 /etc/wsl.conf 里面。
|
|
然后在Windows的powershell/cmd环境里面执行:
|
|
然后重新开启wsl2,可能会有一点慢。要稍等一下。然后执行: pstree
惊喜来咯!系统基于systemd启动了,而不是init。
|
|