win7局域网网站建设,wordpress侧边悬浮框,淘宝建站服务,网建会目录
1、快速了解wsl2 安装子系统linux流程#xff08;B站视频#xff09;
2、wsl2常用命令
3、windows与子系统Linux文件访问方法
4、子系统linux使用windows网络代理、网络配置#xff08;镜像网络#xff0c;非NAT#xff09;
5、wsl2 Ubuntu miniconda 安装
6、…目录
1、快速了解wsl2 安装子系统linux流程B站视频
2、wsl2常用命令
3、windows与子系统Linux文件访问方法
4、子系统linux使用windows网络代理、网络配置镜像网络非NAT
5、wsl2 Ubuntu miniconda 安装
6、wsl2 docker安装
7、wsl2 cuda 安装
8、wsl2 子系统可视化 重要提示本教程仅仅针对最新版本的win11系统其他版本的系统暂无测试
1、快速了解wsl2 安装子系统linux流程B站视频
【windows 安装适用于linux的子系统安装 docker 并开启局域网访问
2、wsl2常用命令
WSL 的基本命令
#升级下子系统
wsl --update # 查看支持内核版本 wsl版本是2.x
wsl -v
WSL 版本 2.2.4.0
内核版本 5.15.153.1-2# 如果wsl不是2.x, 将WSL2设置为默认版本
wsl --set-default-version 2# 查看已经安装的子系统
wsl -l -v#查看可安装的linux版本
wsl --list --online#安装Ubuntu-22.04 发行版本
wsl --install -d ubuntu-22.04# 启动子系统
wsl -d Ubuntu-22.04 # 这里启动Ubuntu 22.04使用的命令和配置
设置wsl版本wsl --set-default-version 2
查看可以安装的发行版wsl --list --online
安装ununtuwsl --install -d Ubuntu-22.04
关闭wslwsl --shutdown.wslconfig配置文件在这个位置
%UserProfile%
C:\Users\UserName\.wslconfig查看子系统ip:hostname -I
端口转发netsh interface portproxy add v4tov4 listenport5244 listenaddress0.0.0.0 connectport5244 connectaddress172.27.14.63
查看转发的端口netsh interface portproxy show all
删除netsh interface portproxy delete v4tov4 listenport5244 listenaddress0.0.0.0.wslconfig配置
[wsl2]
networkingModemirrored
hostAddressLoopbacktrue
3、windows与子系统Linux文件访问方法
WSL 的文件权限 | Microsoft Learn
4、子系统linux使用windows网络代理、网络配置镜像网络非NAT
使用 WSL 访问网络应用程序
步骤:
下面配置仅限为win11系统配置子系统Ubuntu网络为镜像网络方便使用windows的网络代理
1) windows资源管理器输入%UserProfile%后跳转至用户目录
2) 找到.wslconfig文件没有则创建一个该文件即可
写入下面内容
# Settings apply across all Linux distros running on WSL 2
[wsl2]# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
# memory8GB# Sets the VM to use two virtual processors
processors10[experimental]
autoMemoryReclaimgradual # 开启自动回收内存可在 gradual, dropcache, disabled 之间选择
networkingModemirrored # 开启镜像网络
dnsTunnelingtrue # 开启 DNS Tunneling
firewalltrue # 开启 Windows 防火墙
autoProxytrue # 开启自动同步代理
sparseVhdtrue # 开启自动释放 WSL2 虚拟硬盘空间
3 PowerShell中输入 wsl --shutdown 关闭所有的子系统注意不是关闭终端重要
4再次启动使.wslconfig 配置生效
wsl -d Ubuntu-22.04
5验证子系统是否使用windows代理成功
windows的代理需要开启Tun模式如果未开启Tun模式可能需要在Ubuntu终端使用export 开启环境变量临时生效永久生效需要更改配置文件命令为 # 如果是镜像网络 export https_proxyhttp://127.0.0.1:7890 export http_proxyhttp://127.0.0.1:7890 # 如果是NAT网络需要在配置文件里加入 # wsl http proxy # 动态获得主机ip地址 HOST_IP$(ip route show | grep -i default | awk { print $3}) export https_proxy$HOST_IP:7890 export http_proxy$HOST_IP:7890 # 对于非镜像网络如果需要局域网互通可能还得需要一个端口映射 # 这里使用curl来验证不用ping因为ping默认不支持http代理curl -I https://www.baidu.com# 结果
HTTP/1.1 200 Connection establishedHTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Wed, 30 Oct 2024 05:55:33 GMT
Etag: 575e1f71-115
Last-Modified: Mon, 13 Jun 2016 02:50:25 GMT
Pragma: no-cache
Server: bfe/1.0.8.18# 这里使用curl来验证不用ping因为ping默认不支持http代理
curl -I https://www.google.com# 结果为下面代表成功如果什么未出现卡住代表失败
HTTP/1.1 200 Connection establishedHTTP/2 200
content-type: text/html; charsetISO-8859-1
content-security-policy-report-only: object-src none;base-uri self;script-src nonce-V1HCEWjM22NLtR0v_UYszA strict-dynamic report-sample unsafe-eval unsafe-inline https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp
accept-ch: Sec-CH-Prefers-Color-Scheme
p3p: CPThis is not a P3P policy! See g.co/p3phelp for more info.
date: Wed, 30 Oct 2024 05:55:47 GMT
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
expires: Wed, 30 Oct 2024 05:55:47 GMT
cache-control: private
set-cookie: AECAVYB7co_o4i9i6JponI0fUy0GPIrYVSoGc5rdk2IyBuVdZQF5ljfIn8euNo; expiresMon, 28-Apr-2025 05:55:47 GMT; path/; domain.google.com; Secure; HttpOnly; SameSitelax
set-cookie: NID518dQebAMHHJPU9hSZIshAFzUHWMPFEZObPIMl6ZMjmay5duwQLkum7Hd44ikEgyVDZVMRlNWAWsOs5sNB2eSsrGTzms7iByOR11e3ZfvyODGfhEId-r6KzJ80y5Fhxvt7C-ecSOoCrBIUgsREJ6ZNFauGHkwwgob-61jKhK81iz5Y7UXQYGpH5Jamb74rLKrpw; expiresThu, 01-May-2025 05:55:47 GMT; path/; domain.google.com; HttpOnly
alt-svc: h3:443; ma2592000,h3-29:443; ma2592000
5、wsl2 Ubuntu miniconda 安装 安装
mkdir -p ~/miniconda3wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.shbash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3rm ~/miniconda3/miniconda.sh 安装完成后激活 source ~/miniconda3/bin/activate 环境变量初始化 conda init --all 6、wsl2 docker安装
WSL 上的 Docker 容器入门 | Microsoft Learn
在windows/wsl 安装docker官方文档
7、wsl2 cuda 安装
CUDA on WSL 用户指南nvidia官方文档
win11 使用 wsl2 安装子linux系统使用 nvidia-smi 是可以打印东西的即使 nvidia-smi 可用CUDA 工具包可能尚未安装或未正确配置。例如 nvcc -V 命令不可用、安装flash-atten 要用到CUDA 编译(pip install flash-attn2.6.3 --no-build-isolation ) 会报错
需要注意的
Nvidia 图形驱动只需要装到windows机器上 wsl 子系统中不要安装任何图形驱动仅需要安装cuda toolkit 即可。From this point you should be able to run any existing Linux application which requires CUDA. Do not install any driver within the WSL environment. For building a CUDA application, you will need CUDA Toolkit. Read the next section for further information.最新的 NVIDIA Windows GPU 驱动程序将完全支持 WSL 2。通过驱动程序中的 CUDA 支持,现有应用程序(在其他 Linux 系统上为相同目标 GPU 编译)可以在 WSL 环境中无需修改即可运行。要编译新的 CUDA 应用程序,需要 Linux x86 的 CUDA Toolkit。CUDA Toolkit 对 WSL 的支持仍处于预览阶段,因为诸如分析器等开发工具尚不可用。但是,在 WSL2 环境中完全支持 CUDA 应用程序开发,因此用户应该能够使用适用于 x86 Linux 的最新 CUDA Toolkit 编译新的 CUDA Linux 应用程序。在系统上安装 Windows NVIDIA GPU 驱动程序后,CUDA 就可以在 WSL 2 中使用。安装在 Windows 主机上的 CUDA 驱动程序将在 WSL 2 中被存根为 libcuda.so 因此用户不得在 WSL 2 中安装任何 NVIDIA GPU Linux 驱动程序。这里需要非常小心,因为默认的 CUDA Toolkit 附带有一个驱动程序,很容易用默认安装覆盖 WSL 2 的 NVIDIA 驱动程序。我们建议开发人员使用来自 CUDA Toolkit 下载页面的单独 WSL 2 (Ubuntu) CUDA Toolkit,以避免这种覆盖。有一个叫 WSL-Ubuntu CUDA 工具包安装程序不会覆盖已映射到 WSL 2 环境的 NVIDIA 驱动程序。
以下是在 WSL 中安装 CUDA 工具包的步骤Linux WSL-Ubuntu 2.0 x86_64
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda-repo-wsl-ubuntu-12-6-local_12.6.2-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-6-local_12.6.2-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
正常来说如果可以顺利安装上 torch GPU版、deepspeed、flash-attenCUDA基本算是安装完成了尤其是后两个包flash-atten需要用到CUDA编译如果没有安装或安装出错大概率是安装不成功的
测试代码
import torch
import flash_attn
import deepspeed
import xformers
print(deepspeed.__version__)
print(xformers.__version__)
print(flash_attn.__version__)
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.get_device_name(0))
print(torch.cuda.current_device())# 结果
0.14.0
0.0.27
2.6.3
2.3.1cu121
True
1
NVIDIA GeForce RTX 3090
0
一些问题
经上述py脚本测试CUDA已经安装成功了但是nvcc -V命令依旧用不了原因为CUDA的安装路径通常需要添加到系统的PATH和LD_LIBRARY_PATH中。如果这些环境变量未正确配置系统将无法找到nvcc命令。
1验证CUDA Toolkit是否正确安装 检查CUDA Toolkit的安装目录。默认情况下CUDA通常安装在/usr/local/cuda-12.6根据您安装的版本不同路径可能有所变化查看nvcc是否存在
ls /usr/local/cuda-12.6/bin/nvcc
我的是存在的证明CUDA虽然安装成功但需要加入环境变量
2配置环境变量
编辑shell配置文件如~/.bashrc或~/.zshrc添加以下内容
export PATH/usr/local/cuda-12.6/bin${PATH::${PATH}}
export LD_LIBRARY_PATH/usr/local/cuda-12.6/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}
3保存文件后重新加载配置
source ~/.bashrc
4测试是否配置成功
which nvcc
# 应该输出类似于/usr/local/cuda-12.6/bin/nvcc的路径。如果没有输出说明PATH未正确配置。nvcc -V# 输出
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Sep_12_02:18:05_PDT_2024
Cuda compilation tools, release 12.6, V12.6.77
Build cuda_12.6.r12.6/compiler.34841621_0 至此CUDA完整安装成功
8、wsl2 子系统可视化
1安装之前
2wsl 子系统需要的操作
# 安装xfce4
sudo apt install xfce4 # 失败重新安装 sudo apt reinstall xfce4# 再bashrc最后一行添加如下内容并保存,把其中的172.30.16.1换成自己的ipv4地址即可可以在windows 终端中输入 ipconfig 进行查看
sudo vim ~/.bashrc
# 需要加入的内容
export DISPLAY172.30.16.1:0
# 重载配置文件激活
source ~/.bashrc#重启一下wsl子系统具体方法是在windows终端里运行以下指令再重新打开
wsl --shutdown # 关闭wsl
wsl -d Ubuntu-22.04 # 再启动#使用sudo 启动 Xfce 会话
sudo startxfce4
3安装 VcXsrv X Server 并启动它地址为VcXsrv - Open-Source X Server for Windows
一键安装后启动时需要进行配置 参考资料
CUDA on WSL User Guide
win11安装WSL2并配置Ubuntu环境
使用 WSL 访问网络应用程序
wsl2使用宿主机网络代理
WSL2的镜像网络模式带来更流畅的Linux开发体验
新版 WSL2 2.0 设置 Windows 和 WSL 镜像网络教程
Windows 10 安装配置WSL2ubuntu20.04教程 超详细
WSL默认安装目录