ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

WSL中安装Rocky Linux完整指南:从rootfs导入到开发环境配置

WSL中安装Rocky Linux完整指南:从rootfs导入到开发环境配置 1. 项目概述与思路拆解1.1 为什么要在WSL里装Rocky Linux先说结论Rocky Linux这类RHEL系发行版在WSL场景下用的人远少于Ubuntu但真正需要它的人往往非常刚需。如果你是企业运维、搞过CentOS迁移、或者在生产环境里用的是AlmaLinux/Rocky这套体系那你在Windows上做日常开发时大概率会遇到一个尴尬情况——本地环境和服务器环境对不上号。脚本在Ubuntu上跑得好好的推到服务器的Rocky上一执行就开始报错这种割裂感做运维的人都懂。WSLWindows Subsystem for Linux从Win10 2004版本开始成熟到Win11上已经发展成完整的WSL2架构它本质上是在Windows里跑一个轻量级虚拟机但没有虚拟机的开销和割裂感。WSL2使用的是真正的Linux内核支持systemd2022年之后加入支持GPU加速能和Windows文件系统互通这些特性让它在本地开发、脚本验证、容器测试这些场景里非常好用。官方应用商店里能直接装的发行版有Ubuntu、Debian、Kali、openSUSE这些但唯独没有Rocky LinuxRed Hat系在WSL官方渠道长期缺位AlmaLinux虽然在Windows Store上架过但体验也不算好。这就意味着我们需要手动导入Rocky Linux的根文件系统到WSL中整个过程说难不难但有几个容易踩坑的细节。这篇文章就把我实际操作的完整过程、参数选择、问题排查全部整理出来你可以直接照着做。1.2 适用场景与前置条件检查这篇文章主要面向三类人一是生产环境用RHEL系发行版想在Windows笔记本上保持同环境开发的运维或后端工程师二是企业内网里大量跑Rocky 8/9被CentOS停服逼着迁过来的老用户三是对WSL机制好奇想脱离官方商店限制手动装一个自定义发行版折腾的技术爱好者。开始之前先检查一下你的环境是否满足条件你的Windows必须是64位的Win10 2004及以上或者Win11Win10老版本对WSL2支持不完整Windows功能里需要开启“适用于Linux的Windows子系统”和“虚拟机平台”两个可选功能旧版本还需要开启Hyper-VWin11只需要虚拟机平台内存建议至少8GB因为WSL2默认会吃掉宿主机约一半内存作为上限检查方法很简单打开PowerShell管理员权限执行 wsl --status 查看当前WSL版本信息如果提示没有这个命令说明你的系统还没装WSL本体需要先执行 wsl --install 安装。提示如果你执行 wsl --install 一直卡在下载阶段大概率是国内网络访问微软更新服务器不稳定。解決办法是先从GitHub下载WSL的msi安装包手动安装或者换一个时段再试。这一步卡住的人不在少数属于高频踩坑点。2. WSL工作机制与Rocky Linux导入原理2.1 先搞懂WSL2到底是个什么东西WSL2从严格意义上讲就是一个虚拟机只不过它做了大量优化来让虚拟机和Windows主机之间的交互变得“透明”。虚拟机管理程序Hyper-V同款底层负责调度内存和CPULinux内核跑在一个轻量级的虚拟化环境中Windows和Linux之间通过9P协议共享文件系统通过网络虚拟化来互通网络。这就是为什么WSL2比第一代WSL性能强那么多——WSL1是系统调用翻译层碰到复杂的文件操作和内核功能经常出问题WSL2是真内核理论兼容性接近完整Linux环境。但代价是WSL2里的Linux是一个独立虚拟机它不是Windows里的一个进程那么简单关机启动、资源占用、文件IO性能损耗这些问题都要重新认识。一个关键认知WSL2里的Linux环境和你在VirtualBox或VMware里装的虚拟机本质上是同类东西。理解了这一点你就明白为什么不能像装普通软件那样直接从商店装Rocky Linux——商店里的发行版Ubuntu、Debian等是微软和发行方合作封装好的应用包内置了WSL集成层。Rocky Linux没有做这个封装所以我们要么找现成的rootfs要么从容器镜像里手动构建。2.2 为什么选择rootfs导入而不是其他方式Linux发行版换平台迁移最核心的文件是什么是根文件系统rootfs。它包含所有系统文件、目录结构、包管理器、内核模块WSL2用自己的内核所以rootfs里的内核模块不关键导入后就是一个完整的、可启动的用户态Linux环境。手动方式通常有两条路一是直接下载Rocky Linux官方提供的容器rootfs压缩包这种包一般几十到几百MB只包含最小化系统不含内核可以留作容器镜像或导入WSL用。Rocky官方在云镜像页面提供各种格式其中很多格式不是为了普通安装准备的找起来有点绕。二是从Docker Hub拉一个rockylinux镜像再导出为tar包导入WSL。这种方法的好处是镜像平台兼容性有保证Docker Hub上的rockylinux是官方仓库几乎不存在缺文件的问题。我在实际操作中更推荐第二种因为路径更明确、步骤可复现性更高。注意很多人搞混了“在WSL里运行Rocky Linux容器”和“把Rocky Linux作为WSL发行版”这两件事。前者是WSL里装Docker再起容器后者是我们现在要做的——让Rocky Linux成为WSL的一等公民就像你装了一个Ubuntu应用一样可以直接通过 wsl -d RockyLinux 进入。2.3 从容器镜像构建rootfs的原理从Docker镜像导出rootfs原理很简单Docker镜像本身就是一层层的文件系统快照把这些层导出的tar包合并解压后就是一份完整的根文件系统。用 docker export 命令可以直接把容器的整个文件系统打成tar包这个tar包就是我们要的rootfs。关键问题是很多人的Windows机器上根本没装Docker为了构建一个rootfs去装Docker有点重。替代方案有几个在一台已有的Linux机器上执行 docker export 导出tar包再拷贝到Windows直接从Rocky Linux官方或镜像站下载现成的rootfs归档文件利用WSL里已有的Ubuntu环境在Ubuntu里安装一个轻量级的skopeo工具拉取镜像并导出我在下面详细实操中用第三种方案演示因为整个流程在Windows本机上就能闭环不需要额外的物理机或虚拟机。注意无论用哪种方式获取rootfs时尽量使用官方源或可信镜像站。这种系统级文件如果被篡改后续所有运行在这套系统里的东西都不安全不要为了省事随便下载来路不明的包。3. 实操全过程离线构建与导入Rocky Linux3.1 准备工作安装WSL本体并启用虚拟机平台如果你是从零开始第一步是安装WSL。用管理员身份的PowerShell执行wsl --install这条命令会默认安装WSL2、虚拟机平台功能、以及Ubuntu微软默认的发行版。装完重启电脑。如果在安装过程中卡住、报错或者速度极慢我建议用离线方式先到GitHub的Microsoft/WSL仓库下载最新的.msi安装包双击安装然后在“启用或关闭Windows功能”里手动勾选“虚拟机平台”和“适用于Linux的Windows子系统”两个选项最后再重启。验证安装是否成功执行 wsl --status 或 wsl -l -v如果能看到版本信息列表说明WSL2已经就绪。为什么这条路推荐先装一个Ubuntu留作工具系统因为后面从Docker Hub拉取镜像这个环节需要一个能跑docker或skopeo的Linux环境WSL里默认的Ubuntu是最顺手的选择。当然你也可以直接在PowerShell里用其他工具但整体流程会复杂很多。3.2 到WSL的Ubuntu环境里拉取Rocky Linux镜像打开一个WSL终端Ubuntu环境开始操作# 更新软件源并安装必要工具 sudo apt update sudo apt install -y skopeo # 利用skopeo直接把Docker Hub上的rockylinux镜像复制到本地目录并导出为OCI格式 mkdir -p ~/rockylinux-image skopeo copy docker://docker.io/rockylinux:9 oci:~/rockylinux-image:latest这里用 skopeo 而不是 docker pull主要原因是不需要启动Docker守护进程在WSL2里少一层资源开销也更稳定。如果之前已经装了Docker Desktop直接用docker也行但不是每个人都需要Docker用skopeo更轻。Rocky Linux 9对应的是RHEL 9系8对应RHEL 8系。如果你要和线上服务器保持版本一致这里选择对应的tag比如 rockylinux:9.3 或者 rockylinux:8.9。我用的是9系列因为Rocky 9是目前的主力维护版本企业新部署基本都会选9。拉取完成后还需要把OCI格式的镜像转换成一个完整的rootfs tar包。skopeo只负责镜像搬运不负责文件系统导出所以这里可以用 umoci 工具也可以换个思路——用docker跑一遍再导出。最省事的方案# 如果系统里没有docker可以使用podman或者安装umoci工具 sudo apt install -y umoci mkdir -p ~/rockylinux-rootfs umoci unpack --image ~/rockylinux-image:latest ~/rockylinux-rootfsumoci unpack的结果是一个目录但WSL导入需要tar归档。于是打包sudo tar --numeric-owner --xattrs -cf ~/rockylinux-rootfs.tar -C ~/rockylinux-rootfs/rootfs .这里用了 --numeric-owner 确保属主信息保留--xattrs 保留扩展属性两个参数都不能少否则导入后权限会乱。3.3 把rootfs导入WSL发行版列表回到Windows PowerShell管理员身份执行导入命令wsl --import RockyLinux D:\WSL\RockyLinux D:\Users\你的用户名\rockylinux-rootfs.tar --version 2参数解释一下RockyLinux是发行版的名称之后用 wsl -d RockyLinux 进入D:\WSL\RockyLinux是发行版安装的物理位置建议放在非系统盘避免C盘空间爆炸第三个参数是刚才导出的tar包路径--version 2 强制创建WSL2实例这是默认行为但写清楚更放心吧。等进度条跑完执行wsl -d RockyLinux如果一切正常你会看到Rocky的bash提示符。这个过程我实测过多次理论上能在几分钟内完成但有几个坑很难避开tar包太大导致导入时间长几百MB正常路径里有空格导致命令解析错误或者--version参数被忽略导致创建WSL1实例。WSL1实例跑Rocky 9会有内核相关功能缺失比如systemd支持不完整建议导入完成后立刻检查一下。3.4 首次进入Rocky Linux后的必要配置成功进入系统后第一步先检查基础状态cat /etc/rocky-release可以看到系统版本。然后你需要立即做几件事第一配置DNS。WSL2默认会生成 /etc/resolv.conf指向Windows宿主机模拟出来的DNS代理。如果你发现系统无法解析域名ping不通外网域名多半是DNS配置问题。可以手动改为公共DNSrm /etc/resolv.conf echo -e nameserver 223.5.5.5\nnameserver 8.8.8.8 /etc/resolv.conf chattr i /etc/resolv.conf # 阻止系统自动覆盖为什么用chattr加锁因为WSL每次重启都会重新生成resolv.conf不锁住的话你改了也没用。第二为root设置密码。通过镜像导入的系统默认root用户无密码直接 sudo 会被拒绝。处理方式sudo passwd root然后按提示设置。之后就可以用普通用户加sudo方式工作或者干脆切到root。第三安装常用工具。Rocky 9最小化系统里连sudo都可能没有实际上有但很多网络工具、文本编辑器没有。需要做的dnf install -y sudo vim wget curl tar gzip make gcc现在系统基本可用了。经验分享从镜像导入的rootfs本质上是一个“快照”它没有经过官方安装器的初始化阶段。你可能会遇到一些奇怪的小问题比如时区不是本地时区、语言是C/POSIX、没有创建普通用户。这些都是正常的参照正常的Rocky系统初始化流程处理即可不需要大惊小怪。4. 网络配置与静态IP的坑4.1 WSL2的网络模式到底怎么回事WSL2的网络默认是NAT模式。WSL里的网卡 eth0IP地址是由Windows宿主机上的虚拟交换机分配的。这个虚拟交换机在Windows端有自己的IP通常是172.x.x.1WSL里的IP是172.x.x.x网段。从WSL里访问Windows宿主机可以使用特殊域名 host.docker.internal 或者通过网关IP从Windows访问WSL里的服务需要使用WSL的IP但这个IP每次启动可能变。理解了这一点你就知道为什么“在WSL里给Rocky设置静态IP”是个高频搜索词——每次重启WSLIP变来变去SSH连接、跑服务、配置防火墙映射都会变得很麻烦。NAT模式的具体表现WSL里执行 ip addr show 能看到一个172开头的地址网关也是172开头的Windows和WSL能互通但局域网内其他机器访问不到WSL里的服务WSL访问外部网络走的Windows的物理网卡共享宿主机的网络出口4.2 让静态IP生效的三种路线路线一使用WSL的镜像网络模式Mirror mode。这是从WSL 2.0系列开始引入的新特性。在Windows的 .wslconfig 文件中添加[wsl2] networkingModemirrored然后在PowerShell执行 wsl --shutdown 后重新进入。镜像模式下WSL的网卡和Windows共享IPWindows的IP就是WSL的IP从局域网访问WSL端口和在Windows上访问没区别。这是最接近原生体验的方案强烈推荐。路线二WSL里自定义IP。如果你用的是NAT模式想手动固定IP可以这样sudo ip addr add 172.20.10.50/20 dev eth0 sudo ip route del default sudo ip route add default via 172.20.16.1 dev eth0注意网段和网关要和你WSL当前实际网络匹配。这种方式的问题是宿主机重启或者WSL重启后需重新设置没法一劳永逸。要持久化得配合WSL的启动脚本或systemd服务。路线三配置Windows端口转发。如果你想从局域网其他机器访问WSL里的服务即便IP变了也能自动转发可以在Windows上设置netsh接口转发。但这个相对复杂且每次IP变化要重新设置。我个人推荐路线一镜像模式是多少人期待了很久的功能实测下来网络性能和兼容性都OneWords还解决了局域网访问问题。4.3 常见网络问题速查现象原因解决办法WSL内ping不通外网DNS配置被覆盖或DNS地址失效按3.4节配置resolv.conf并加锁WSL内无法访问Windows服务WSL到Windows的host解析失败使用宿主机IP或host.docker.internalWindows无法从浏览器访问WSL服务NAT模式下必须用WSL IP访问用 ip addr show 查看WSL IP或切换镜像模式重启后IP变了NAT模式动态分配IP切换镜像模式或使用静态配置脚本systemd服务网络异常WSL的systemd和NetworkManager冲突用systemctl看服务状态必要时禁用NetworkManager用NetworkManager管理不了WSL虚拟网卡反正别动它就好了重要提醒不要在WSL里自己乱动netplan或者firewalld去“管理”eth0网卡WSL的虚拟网卡是宿主机分配的你改了也不会持久。要做网络调整优先在Windows层修改 .wslconfig或者编写WSL启动脚本挂载到 /etc/profile.d 下。5. 开发环境扩展与集成VSCode/CUDA/QEMU等5.1 VSCode远程开发这可能是WSL最爽的功能作为一个常年和服务器打交道的开发者WSL配合VSCode是我用过的Windows下最顺滑的Linux开发体验。VSCode有一个专门的WSL插件Remote - WSL装好之后在WSL里执行 code . 命令Windows端的VSCode会自动打开并与WSL内部目录关联。具体操作步骤在Windows端安装VSCode在VSCode插件市场安装“WSL”扩展进入WSL终端切换到项目目录执行 code .VSCode窗口打开后左下角会显示“WSL: RockyLinux”等字样表示当前工作区在WSL内使用感受编辑文件、运行代码、查看git状态都是无缝衔接的。一个典型工作流是在Windows的VSCode里写着代码终端指向WSL里的Rocky环境编译、运行、调试都用Linux工具链完全不会有路径分隔符和换行符的烦恼。WSL插件在我实测过的所有发行版上都兼容良好Rocky Linux也不例外。需要注意一点插件的服务端需要下载到WSL内第一次打开可能比较慢因为你需要给WSL里的那个Linux环境安装匹配的插件版本。如果下载总是失败检查你的网络或者手动下载.vsix安装到WSL侧。5.2 WSL里跑CUDAGPU加速和安装注意事项WSL2从2020年开始支持CUDA on WSL也就是说你可以在WSL里运行GPU加速的应用TensorFlow、PyTorch都能直接享受NVIDIA GPU。要在Rocky Linux/WSL里安装CUDA有一个关键前提不需要在WSL里装NVIDIA驱动驱动的Windows版就是WSL的驱动linux侧只要装CUDA Toolkit即可。具体流程确认Windows侧NVIDIA驱动版本 470.7620H2以上在Rocky里启用EPEL源和官方CUDA源用dnf安装cuda-toolkit配置等了半天网速也很糟上面的源下载总是超时国内建议换成镜像站比如清华TUNA或者阿里云镜像把rocky源本身也换掉能省不少时间。我实测下来在WSL里跑CUDA容器是最顺的。直接用 nvidia-container-toolkit 让容器内应用使用GPU。sudo dnf install -y nvidia-container-toolkit sudo systemctl restart docker docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubi9 nvidia-smi这一套走通意味着本地开发环境和生产推理环境的差距被无限拉近了。5.3 Docker与容器使用WSL里的容器运行时Rocky Linux官方源里有docker也可以使用阿里云、清华等镜像源。注意WSL里跑docker有两种方式方式一在WSL里直接装docker-engine没有Docker Desktop的图形界面全部在命令行操作。 方式二用Windows的Docker Desktop并设置使用WSL2后端然后在WSL的Rocky中直接调docker命令。这两种方式各有优劣。方式一更轻量、可控适合服务器环境还原方式二与Windows集成更紧密但依赖Docker Desktop后台服务。因为我这篇文章主要面向运维开发我建议按方式一来sudo dnf config-manager --add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io sudo systemctl enable --now docker sudo usermod -aG docker $USERWSL里的docker会依赖systemd。在Rocky Linux导入WSL后systemd默认是关闭的WSL即使支持systemd也需要在 /etc/wslconfig 里显式开启。需要确认 /etc/wslconfig 配置[wsl2] systemdtrue配置后执行 wsl --shutdown 重启WSL。否则systemd服务起不来docker服务也就无法开机自启。5.4 其他高频扩展QEMU、binwalk、LibreOffice热词里有两个代表性的扩展场景我来说说。一是QEMU。WSL里的QEMU可以用来模拟完整机器、测试其他架构的ISO镜像特别是写内核模块或者做底层软件测试时很常用。安装sudo dnf install -y qemu-kvm qemu-img libvirt virt-install有人说WSL里跑QEMU有嵌套虚拟化的性能损失但实测下来ARM模拟这类非KVM场景影响不大足够做基础验证用。要图形界面的话VNC和SPICE也能正常用。二是binwalk。固件分析神器在WSL里安装Rocky后也能正常用sudo dnf install -y binwalkWSL和Windows共享文件系统意味着你可以在Windows上下载一个固件直接放D:\share目录然后WSL里从 /mnt/d/share 访问并开始分析非常方便。这比在虚拟机里倒文件痛快多了。三是LibreOffice热词里专门提到 LibreOffice_7.4.7.2_linux_x86-64_rpm 安装包。在WSL的Rocky里装LibreOffice的场景一般是服务器端文档转换比如把docx转PDF、生成报表。下载RPM包后在WSL里sudo dnf install -y ./LibreOffice_7.4.7.2_Linux_x86-64_rpm/RPMS/*.rpm注意要先用图形界面或命令行完成RPM的依赖解析用 dnf 安装本地包可以自动拉依赖。装完后命令行运行 soffice --headless --convert-to pdf 测试文档转换。6. 维护、卸载与常见问题排查6.1 系统更新、版本升级与快照备份Rocky Linux导入WSL后需要像维护普通服务器一样定期做更新sudo dnf update -y如果官方源慢就切国内镜像。在 /etc/yum.repos.d/ 下找到Rocky的repo文件把 mirrorlist.rockylinux.org 和 dl.rockylinux.org 替换为可用镜像源比如阿里云sed -i s/mirrorlist/#mirrorlist/g; s|#baseurlhttp://dl.rockylinux.org|baseurlhttps://mirrors.aliyun.com/rockylinux|g /etc/yum.repos.d/Rocky-*.repoWSL发行版没有专门的“升级大版本”命令因为它是导入的rootfs升级8到9需要重新导入新版rootfs再来迁移数据这一点和普通Linux发行版用 leapp 工具不同。好消息是WSL不需要单独管理升级引导导入新版tar时你可以保留旧发行版实例并存上下文随时切换。快照备份很简单wsl --export RockyLinux D:\backup\rockylinux-backup.tar恢复wsl --import RockyLinux-Restored D:\WSL\RockyLinux-Restored D:\backup\rockylinux-backup.tar --version 26.2 WSL空间占用与“文件删了空间没释放”问题这个热词状态太典型了很多人遇到WSL里删文件Windows上的磁盘可用容量不但没变有时候还更小了。原因是WSL2使用虚拟硬盘ext4.vhdx文件来存储整个Linux文件系统Linux里删文件只是标记数据块为可用但托管这个虚拟磁盘的vhdx文件不会自动缩小。解决办法清理WSL内部实际不用的东西sudo dnf clean all、删除不要的日志文件、清空缓存在Windows管理员PowerShell里执行优化wsl --shutdown Optimize-VHD -Path D:\WSL\RockyLinux\ext4.vhdx -Mode Full如果没有Hyper-V模块Windows家庭版可以用 DiskPart 或者第三方的 wslcompact 工具。我自己用的方式是先 wsl --shutdown然后用 diskpart 压缩vhdx文件命令行是rem diskpart select vdisk fileD:\WSL\RockyLinux\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk exit实测能释放不少空间效果立竿见影。6.3 完全卸载WSL发行版不是卸载整个WSL如果哪天要推倒重来wsl --unregister RockyLinux这个命令会把发行版从WSL的列表里移除同时删除它关联的虚拟磁盘文件如果你的发行版数据不重要这是一个一步到位的清理方式。想保留数据就把它导出备份后再删除。卸载前注意备份工作区里重要的代码和数据库数据数据是根目录层的通过Windows资源管理器访问 \wsl.localhost\RockyLinux\home\你的用户名 能看到所有文件。复制出来放Windows盘安全一点别搞完才后悔。6.4 常见启动与运行问题排查实录问题一wsl --import之后启动失败错误码 WSL/service/createinstance/createvm/hcs/error_file_not_found这个报错在我排查的案例里出现概率极高。原因一般是三种WSL版本太旧对新的vhdx镜像不支持、镜像的tar包格式不完整或损坏、系统没有开启虚拟机平台功能。解决思路先升级WSL到最新wsl --update再验证rootfs tar包的完整性最后去检查Windows功能里的虚拟机平台是否已启用。如果是老版本Windows可能还需要手动安装WSL2内核更新包。问题二wsl --install 提示403或下载一直0%这个也是高频问题特别是国内网络环境。解决方案是使用微软官方的msi离线安装包或者用发行版专用的手动导入方式就是我这篇文章的主线。使用 wsl --install -d ubuntu-24.04 这类指定发行版命令时也一样网络不好就会一直卡住直接离线操作会更高效。问题三DNS时不时就断ping不通外网但能ping通网关WSL2在NAT模式下有个经典问题Windows休眠或网络切换后WSL里的DNS服务器地址会失效。解决方案是3.4节里说的手动写入一个稳定的nameserver并加锁或者切镜像网络模式让WSL直接用Windows的网卡。问题四systemd起不来服务状态全失败WSL2默认不开启systemd必须配置 /etc/wslconfig加入 systemdtrue然后 wsl --shutdown重新进。RHEL系发行版和systemd高度绑定没systemd连firewalld和chrony都会出问题。如果你按步骤开了systemd后还是起不来检查 /etc/wslconfig 格式ini的格式不对会不生效。问题五进入WSL后没有用户直接就是root从镜像导入的rootfs默认只会配置root不会自动建普通用户。这不影响使用但安全上有隐患。建议顺手创建useradd -m -G wheel 你的用户名 passwd 你的用户名然后输入 visudo 确认 wheel 组有sudo权限Rocky 9默认有8系列需要手动配置。6.5 给新手的五条实用建议第一把WSL的发行版安装目录放在非系统盘。WSL的vhdx文件会持续增长放C盘很容易把系统盘塞满。推荐把Distro目录放在D盘或E盘。第二不要直接用WSL的rootfs去当生产环境服务器它更适合开发和测试。WSL的定位是轻量、便捷关闭虚拟机后系统会重置网络、IP、某些服务状态这不适合长时间提供对外服务。第三把WSL里的工作目录统一管理。习惯性把代码放 /home/用户/projects 或者 /root/projects然后通过 \wsl.localhost 路径访问千万不要在 /mnt/c 上做重IO操作跨文件系统IO效率低很多。第四定期做导出备份。一个简单的 tar 备份也就是几分钟的事但能防住wsl配置异常导致数据丢失的灾害。第五一定开启systemd。哪怕你现在还没用到早晚会用到开着是唯一正确的姿势。7. 实操后的个人心得由于Windows原生WSL以及WSL2的整体设计更成熟了Rocky导入WSL的这个流程比三年前要可靠太多。当年装RHEL系到WSL需要在各种第三方rootfs里碰运气设置systemd要改一堆脚本现在基本是标准化操作。我自己实践下来最有感触的是WSL的最大价值不在于替代虚拟机或双系统而在于它把Linux环境“缩小”成了一个Windows的应用级工具用的时候秒进不用了不会拖慢宿主机。在Windows上做开发有一点像同时掌握两台电脑一台跑图形界面一台跑服务端环境中间切换几乎零成本。另外想提醒的一点是不要因为WSL方便就把所有事情都放WSL里做。WSL里跑数据库MySQL/PostgreSQL虽然是主流用法但如果是重IO、高并发的生产数据库还是建议跑在专门的Linux服务器上。WSL适合做开发验证、脚本调试、环境预演生产职责还是要交给专业环境。目前这个流程就是这样把Rocky Linux塞进WSL的工作基本上是一次性投入、长期受益。如果你想在Windows上保持一套与服务器一致的工作环境这应该是目前最顺畅的路径了。遇到网络或导入问题大概率可以从这篇文章前几节列出的排查点和注意事项里找到答案。
返回列表