怎样在 WSL2 中安装并使用 CentOS
怎样在 WSL2 中安装并使用 CentOS
本文编写时间:2023-08-23
需求
1、在 win10 中,WSL 自带了 ubuntu 20.04。但是我习惯使用 CentOS ,想在 WSL 中安装并使用 CentOS。
实现方案
1、前提
本文的前提是你已经在 win10 中安装好了 WSL2,并且可以进入 WSL2 中的 Ubuntu,并且可以在 Ubuntu 中使用 docker 命令(建议在 win10 安装 docker-desktop 并绑定到 wsl 即可 )。
2、来源
本文的来源是 youtub 的 视频,https://www.youtub.com/watch?v=02GvERTpaoo,
需自己补足域名。
3、进入 Power Shell
wsl -l -v
应该看到有Ubuntu,并且 version=2
4、进入 ubuntu
wsl -d ubuntu-20.04
5、切换 root 账号
sudo su -
6、下载 centos 的 docker 镜像
docker pull centos:7.9.2009
当然可以改成你喜欢的版本。
docker images
上面的命令是确认。
7、运行并进入 centos 容器
docker run -tid --name centos79 --privileged=true centos:7.9.2009 /usr/sbin/init
docker exec -it centos79 bash
8、退出该容器,回到 Ubuntu
exit
9、确认 cetnos 容器运行中,并记录 CONTAINER_ID
docker ps
此时确认 centos 容器的 STATUS 必须 是 Up 状态,并记录下容器的 ID
10、导出 centos 容器。
docker export 容器ID > /tmp/centos79.tar
11、建立宿主机的目录
在 d 盘或随意位置,建立 d:\tmp , d:\wsl\centos79
12、拷贝 cetnos 容器文件到宿主机,是图形界面操作
在我的电脑中,\wsl$\Ubuntu-20.04 路径可以进入 Ubuntu。
把 Ubuntu 里的 /tmp/centos79.tar 拷贝到 d:\tmp 下。
13、回到 power shell,
可以新开窗口,也可以在 ubuntu 输入 exit
14、在 power shell 输入命令,导入镜像,运行 centos 。
wsl --import CentOS79 d:\wsl\centos79 d:\tmp\centos79.tar
wsl -l -v
wsl -d centos79
15、如果愿意,修改默认的 WSL 的子系统为 centos
在 power shell 下执行
wslconfig /setdefault CentOS79
总结
- 实测通过,非常好使。
- 在 centos 子系统中,如果遇到 mnt 只能访问 c 盘的情况,执行 wsl –shutdown ,然后再次进入即可。
本作品采用《CC 协议》,转载必须注明作者和本文链接
github.com/mishamosher/CentOS-WSL
有镜像,方便一些
默认的
systemctl
用不了,需要替换用 python 实现的 systemctl.py