IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> WSL使用整理 -> 正文阅读

[系统运维]WSL使用整理

目录

?0.区别

1.WSL安装

1.1 简化安装

1.2 手动安装

1.3 问题总结

2.基本操作

3.环境配置

4.交互方式

4.1 UI交互

4.2 命令行交互

5.备份与还原

6.开发工具

6.1 vscode?

6.2 docker

6.3?vlc

6.4?编译环境

7.其他问题


?0.区别

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
将适用于 Linux 的 Windows 子系统从 WSL 1 升级到 WSL 2 的主要区别和优势是:
提高文件系统性能,
支持完全的系统调用兼容性。

1.WSL安装

1.1 简化安装

方法是;加入Windows 预览体验计划,并且更新系统到win11
wsl --install?

1.2 手动安装

这个过程比较复杂,但是通用
步骤 1 :启用适用于 Linux 的 Windows 子系统
第一种方法:需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
第二种方法:以管理员身份打开 PowerShell 并运行:
? ? ? dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
步骤 2 :?检查运行 WSL 2 的要求

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver"
若要更新到 WSL 2,需要运行 Windows 10。
?对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
?低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
步骤 3?:?启用虚拟机功能
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。
步骤 4 :下载 Linux 内核更新包
?适用于 x64 计算机的 WSL2 Linux 内核更新包,运行上一步中下载的更新包
步骤 5 :?将 WSL 2 设置为默认版本
将 WSL 2 设置为默认版本:
?wsl --set-default-version 2
步骤 6:?安装所选的 Linux 分发
?打开 Microsoft Store,并选择你偏好的 Linux 分发版。

1.3 问题总结

WslRegisterDistribution failed with error: 0x800701bc”内核需要升级

?Windows 更新后出现“错误:0x80370102 由于未安装所需功能,因此无法启动虚拟机。”请启用 Virtual Machine Platform Windows 功能,并确保在 BIOS 中启用了虚拟化。

2.基本操作

运行:wsl -d Ubuntu-20.04

查看运行:wsl -l --running

停止:wsl -t Ubuntu-20.04

备份:wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar

还原; wsl --import Ubuntu-20.04 D:\WSL D:\Ubuntu-20.04.tar

删除: wsl --unregister Ubuntu-20.04

版本查看:wsl --list --verbose

3.环境配置

为了能在环境中使用nvidia卡,能够把智能卡透传进入WSL发行版,整理流程如下:

CUDA on WSL Overview.

1.安装预览版驱动

下载地址:CUDA on WSL | NVIDIA Developer如下:

?这个驱动将同时安装window驱动和wsl内部驱动

2.WSL2中安装CUDA

如下:

$ 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/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get -y install cuda

3.运行CUDA容器包

安装docker

curl https://get.docker.com | sh     

安装nvidia-docker

curl https://get.docker.com | sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list

sudo apt-get update
sudo apt-get install -y nvidia-docker2    

运行?Simple CUDA Containers?

docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark 

4.交互方式

4.1 UI交互

远程桌面登陆,基本步骤:

sudo apt-get update
sudo apt-get install xorg
sudo apt-get install xfce4
sudo apt-get install xrdp
sudo sed -i ‘s/port=3365/port=3365/g’ /etc/xrdp/xrdp.ini
sudo echo xfce4-session >~/.xsession
sudo service xrdp restart

4.2 命令行交互

cmd? ?推荐工具:window terminal

5.备份与还原

  1. 备份:wsl --export 发行版的名称???xx.tar
  2. 还原; wsl --import 发行版的名称?安装目录? ?xx.tar
  3. 删除: wsl --unregister 发行版的名称.

6.开发工具

6.1 vscode?

?服务端---wsl安装
?客户端--window安装

6.2 docker

curl https://get.docker.com | sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list

6.3?vlc

? ? sudo ?apt ?install ?vlc

6.4?编译环境

? ? cmake,make,gcc,g++
?

7.其他问题

设备透传比较难,比如USB摄像头接入wsl内部比较困难,目前可行的方案是usbip

参考:

1.适用于 Linux 的 Windows 子系统文档 | Microsoft Docs

2.https://snowstar.org/2020/06/14/wsl2-usb-via-usbip/

3.https://github.com/rpasek/usbip-wsl2-instructions

4.CUDA on WSL :: CUDA Toolkit Documentation

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:49:03  更:2021-11-10 12:50:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:04:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码