Windows11下安装WSL2和CentOS
WSL2(Windows Subsystem for Linux 2)是微软开发的第二代Linux子系统,允许在Windows系统中无缝运行原生Linux环境,无需虚拟机或双系统。其最大的好处之一是文件系统是共享的,例如:可以在Linux环境下通过 /mnt/c 来访问C盘。这样我们可以在WSL2中运行一个centos,然后在其上运行gemini CLI或者Claude Code,进行自行编码,而我们的开发环境依然是Windows。这样可以减少很多gemini cli在Powershell环境下,脚本命令报错比较多的情况。这篇文章将介绍如何在 Windows11 上安装WSL2,以及如何在 WSL2 中安装 centos。
在豆包、元宝这样工具已经成为日常辅助工具的情况下,本来写这样的文章已经价值不大,直接问元宝就可以了。但因为还有一些意外的情况没有记录,除此以外,也是自己的一份记录和总结,所以我们以流水账的形式,快速地过一遍。
确保Hyper-V已经开启
安装 WSL2
# 启用WSL和虚拟机平台 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
安装完后,通过下面的命令,可以查看可以安装的Linux发行版:
PS C:\Users\Administrator> wsl --list --online
以下是可安装的有效分发的列表。
使用“wsl.exe --install
安装 CentOS
在上面的列表中,并没有我所熟悉的CentOS。通过这个地址,可以下载 CentOS 7.9进行安装:
https://github.com/mishamosher/CentOS-WSL/releases/tag/7.9-2211
下载成功后,双击 CentOS7.exe 进行安装。验证安装:
PS C:\Users\Administrator> wsl --list --verbose NAME STATE VERSION * CentOS7 Stopped 2
启动并进入 CentOS
直接输入命令:wsl
就可以启动 WSL,进入CentOS了。如果你和我一样,曾经在PowerShell的配置文件中配置过代理(http_proxy和/https_proxy),那么会出现这样的警告:
PS C:\Users\Administrator> wsl wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。 [root@Jimmy Administrator]#
解决的办法,修改 C:\Users\Administrator(更改为你的用户名) 下的 .wslconfig 配置文件,添加下面的配置:
[wsl2] autoProxy=false
在CentOS下配置代理
重启wls,然后再次执行 wsl 进入 centos,此时不再有上面的错误提示了:
PS C:\Users\Administrator> wsl --shutdown PS C:\Users\Administrator> wsl [root@Jimmy Administrator]#
当前的CentOS相当于全新的系统,什么软件都没有装,我们通常通过yum来进行软件安装。首先可以更新yum的源,让它从国内的镜像站安装软件:
[root@Jimmy ~]# mkdir -p /etc/yum.repos.d/backup [root@Jimmy ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ [root@Jimmy ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo [root@Jimmy ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo [root@Jimmy ~]# yum makecache
此时,如果执行curl www.google.com,会发现网络不通! 因为那个报错是因为代理的问题,而我们将代理关了。此时,需要在centos下重新配置代理。假设我们宿主机的IP是192.168.1.15,代理端口号7890,那么可以这样配置:
vim ~/.bashrc
添加本地代理:
export http_proxy="http://192.168.1.15:7890" export https_proxy="http://192.168.1.15:7890"
执行下面的命令,使其立即生效,然后再次访问 www.google.com,正常可以看到返回网页内容,说明配置成功了。
[root@Jimmy ~]# source ~/.bashrc [root@Jimmy ~]# curl https://www.google.com
安装 AlmaLinux
因为CentOS 7已经比较老的,无法支持最新版的NodeJS,那么就可以安装比较新的Linux系统,例如AlmaLinux 9。其安装方法如下:
# 卸载旧的CentOS7 PS C:\Users\Administrator> wsl --unregister CentOS7 正在注销。 操作成功完成。
接下来就可以安装AlmaLinux 9了。
PS C:\Users\Administrator> wsl --install AlmaLinux-9 正在下载: AlmaLinux OS 9 正在安装: AlmaLinux OS 9 已成功安装分发。可以通过 “wsl.exe -d AlmaLinux-9” 启动它 正在启动 AlmaLinux-9... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: zhangzy Changing password for user zhangzy. New password: Retype new password: passwd: all authentication tokens updated successfully.
在CentOS下面做的:配置代理、更换yum/dnf 源镜像,在AlmaLinux下面一样需要做一遍,这里就不演示了。
感谢阅读,希望这篇文章能给你带来帮助!