windows 11 启用WSL并安装各种发行版
到了 windows 11, 新的 WSL2 是具有生产力的工具了,尤其是配合 vscode 和 jetbrans 的各种ide,真的的是让开发起飞。
wsl 的最大优势是能做到开发和构建及运行环境的统一。现代化的开发,已经不再是你在本地开发完,打好包发版本的时代了,除了往固定的平台发应用,基本上都是用流水线构建的,而流水线多是基于Linux的,最终的服务端应用的运行环境也多是Linux的。WSL 作为Windows 内置的虚拟机,其体验非常不错,非常适合一般的web开发人员及运维人员使用。
首先,你要有一个windows 10/11/sever 2022+, wsl 作为系统组件,通常已经存在了,没有的可以去微软应用商店 搜 “Windows Subsystem for Linux”,但是默认他可能没有新版本的linux 内核,或者没有内核。我们要先更新其版本。
以管理员身份运行 posershell 或者 命令行,执行以下命令
wsl --update
如果不能更新或者没有网络的,可以到 Releases · microsoft/WSL 手动下载后在本地安装。有些系统比如winsows server 2022内置的 wsl 版本较老,没有办法在线更新,也没有应用商店,可以下载那个离线安装包。
新安装成功的,需要重启电脑,不确定的直接重启。
在线安装WSL发行版
看看有哪些发行版可以用
wsl --list --online
以下是可安装的有效分发的列表。
使用“wsl.exe --install <Distro>”安装。
NAME FRIENDLY NAME
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
AlmaLinux-10 AlmaLinux OS 10
Debian Debian GNU/Linux
FedoraLinux-43 Fedora Linux 43
FedoraLinux-42 Fedora Linux 42
SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7
SUSE-Linux-Enterprise-16.0 SUSE Linux Enterprise 16.0
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
archlinux Arch Linux
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-16.0 openSUSE Leap 16.0
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_10 Oracle Linux 8.10
OracleLinux_9_5 Oracle Linux 9.5
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
注意一下,AlmaLinux-10 AlmaLinux OS 10 的上游版本是 RHEL 10, 而 AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10 是上游版本是 Centos 10 Stream。
如果你不想用这些,在 windows 商店里也有 龙蜥 或者 欧拉等多个版本可以选,在应用商店安装,只需要鼠标点点,这里就不介绍了。
至于用哪个,看个人喜好。 我个人喜欢 AlmaLinux 系列的,因为他是 RHEL 的衍生版,与之前的 Centos 7 一样稳定。并且背后有个企业在支撑,比 rockylinux 做的范围更大一点,比如wsl 就找不到 rockylinux 的直接在线安装方法,需要手动下载 wsl 包在本地安装。而且在阿里云等云厂商那里也更容易获取。
离线安装 WSL 发行版
如果你喜欢的发行版没有在线安装方式,怎么办?那就离线安装,以 rockylinux 为例,目前就没有提供在线安装的途径,当然,以后也许会有。但是这些发行版通常会提供一个wsl 的离线安装镜像,以 *.wsl 作为扩展名。
到 https://rockylinux.org/download 支持下载你想要的 wsl 镜像,然后在本地直接执行(注意路径和名称改成你自己的)
wsl --install --from-file <path-to/your-wsl-image.wsl> --name <machine-name>
从docker 镜像导入到WSL
如果你喜欢的发行版连 wsl 镜像都没提供怎么办?如果他们有提供 docker 的镜像,也以将其 docker 容器转成一个 只包含其 rootfs 的 tar 包,然后导入到wsl 中。
找一个装有docker 的主机,然后
# 拉取你想要的镜像 docker pull <your-release>:<tag> # 创建一个临时容器 docker create --name <container-name> <your-release>:<tag> # 导出 rootfs docker export <container-name> -o your-tar-file.tar # 删除临时容器 docker rm <container-name>
现在你有一个可以供导入 wsl 的 tar 包了
接下来只要用 wsl 命令导入就可以了
# wsl --import <新发行版的名字> <安装位置> <.tar文件的路径> # 注意替换成你自己的 wsl --import gentoo C:\programData\WSL\gentoo C:\downloads\gentoo.tar

浙公网安备 33010602011771号