WSL (Windows Subsystem for Linux)¶
提醒
这是一个前置技术
集群平台本身不支持直接运行 WSL,但 WSL 是一个非常有用的工具,可用于在 Windows 环境中学习 Linux 系统操作以及构建容器镜像,这些镜像随后可以在集群上使用。
安装WSL镜像之前,需要设置一些windows的环境信息,以便后续的调试,参考 : 推荐环境设置(进阶)
简介¶
WSL (Windows Subsystem for Linux) 是 Windows 10 和 Windows 11 中的一项功能,允许用户直接在 Windows 上运行 Linux 环境,无需虚拟机或双启动。WSL 提供了 Linux 内核的兼容性层,使 Linux 二进制文件可以在 Windows 上运行,同时保持与 Windows 文件系统和应用程序的互操作性。
WSL 有两个主要版本:
WSL 1:基于翻译层的实现,提供良好的性能和与 Windows 的集成
WSL 2:基于轻量级虚拟机的实现,提供完整的 Linux 内核和更好的性能
在 Windows 10/11 上安装 WSL¶
系统要求¶
Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)
Windows 11 所有版本
至少 4GB RAM
至少 50GB 可用磁盘空间
启用 WSL 功能¶
在控制面版启动下图功能项:
重启计算机以完成安装
安装 WSL 2¶
打开 powershell 管理员权限 ,运行以下命令设置 WSL 2 为默认版本:
wsl --set-default-version 2
点击 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 下载并安装 WSL 2 内核更新包:
安装 Linux 分发版¶
WSL 支持多种 Linux 分发版,以下是常用发行版的安装方法:
安装 Ubuntu 22.04 LTS¶
从 Microsoft Store 安装:
打开 Microsoft Store
搜索 "Ubuntu 22.04 LTS"
点击 "获取" 或 "安装"
安装完成后点击 "启动"
启动 Ubuntu,并进行初始化设置:
设置用户名(用于 WSL Ubuntu 环境)
设置密码(用于 WSL Ubuntu 环境, 密码不能包含空格, 建议使用复杂密码,输入过程中密码不可见)
其他版本¶
小技巧
当然,Microsoft Store 下载ubuntu 22的时候,大概率是会出现网络问题的,所以我们还是提供了其他安装方式
centos 8 (集群2常用系统,需要更新yum源信息): https://ncgit.scut.edu.cn/scut-hpc/case/-/blob/6f8aa1ac0827a48271b53f566289d728207e6a33/virtual/CentOS8-stream.zip
rocky 8 (集群1常用系统): https://ncgit.scut.edu.cn/scut-hpc/case/-/blob/6f8aa1ac0827a48271b53f566289d728207e6a33/virtual/RL8.zip
下载所需要的镜像,并解压到需要存放资料的目录(wsl还是相对占用硬盘空间的,建议放在硬盘空间比较大的分区)
解压镜像文件,双击 运行exe 程序,如果提示windows 保护窗口,选择 "更多信息" -> "仍然运行"
提示安装完成后,点击 "关闭" 按钮。重新启动exe程序即可启动linux子系统
启动linux子系统后,可以通过 ` sudo -s ` 切换到root用户,进行后续的系统配置
安装常用软件¶
根据不同的 Linux 发行版,安装命令有所不同。请选择您使用的发行版对应的命令:
Ubuntu¶
# 更新系统
sudo apt update
# 安装开发工具
sudo apt install -y build-essential git curl wget vim
# 安装 GUI 常用依赖
sudo apt install -y x11-apps xserver-xorg-core xserver-xorg-video-all \
libx11-6 libx11-xcb1 libxcb1 libgl1-mesa-glx libgl1-mesa-dri \
libxext6 libxrender1 libfontconfig1 libfreetype6 libice6 libsm6
Rocky & CentOS¶
# 切换到root用户
sudo -s
# 更新系统
dnf update -y
# 安装开发工具
dnf install -y @development-tools git curl wget vim
# 安装 GUI 常用依赖
dnf install -y xorg-x11-apps xorg-x11-server-Xorg xorg-x11-drivers \
libX11 libX11-xcb libxcb mesa-libGL mesa-dri-drivers \
libXext libXrender fontconfig freetype libICE libSM
WSL 与 Windows 文件互操作¶
从 WSL 访问 Windows 文件
# Windows C 盘挂载在 /mnt/c
cd /mnt/c/Users/<windows-user-name>
# Windows D 盘挂载在 /mnt/d
cd /mnt/d
从 Windows 访问 WSL 文件
WSL 能在/mnt 访问到各个分区的文件,直接cp 到对应分区,windows 打开对应目录即可访问到共享区域的数据
常见问题和解决方案¶
WSL 无法访问网络¶
解决方案:
# 重置网络
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
# 重启 WSL
wsl --shutdown
参考资料¶
Contributor:rkwu