当前位置: 首页 > news >正文

WSL 配置 Linux

WSL 配置 Linux

Windows 启动 Linux 子系统

控制面板 -> 程序和功能, 将 适用于 Linux 的 Windows 子系统 勾选。

62626

安装 Terminal

在 Microsoft Store 市场上搜索 Terminal 安装 Windows Terminal

在这里插入图片描述


安装 编译工具链

sudo apt update # 更新软件包
sudo apt install build-essential
sudo apt install gdb # GDB 调试器
sudo apt install cmake
sudo apt install ninja-build    # 构建加速、自动化构建

等待安装完成,之后查看安装结果

cmake --version
gcc -v
g++ -v
ninja --version

Ubuntu 20.04 安装 vcpkg

安装 vcpkg

从 GitHub 存储库下载 vcpkg:

# wget: 一个用于从网络上下载文件的命令行工具
# -O vcpkg.tar.gz: 表示将下载的文件保存为 vcpkg.tar.gz,其中 -O 参数指定保存的文件名
wget -O vcpkg.tar.gz https://github.com/microsoft/vcpkg/archive/master.tar.gz

创建一个新目录来存储 vcpkg 并将 tar.gz 文件解压缩到其中:

sudo mkdir /opt/vcpkg
sudo tar xf vcpkg.tar.gz --strip-components=1 -C /opt/vcpkg
# --strip-components=1:该选项指定解压缩时去除文件路径中的第一个组件,如去除"vcpkg-master"

运行以下命令来构建 vcpkg 本身:

sudo apt-get install curl zip unzip tar
sudo /opt/vcpkg/bootstrap-vcpkg.sh

在 /usr/local/bin 目录中,可创建一个指向 vcpkg 命令的符号链接:

sudo ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg

现在 vcpkg 可以用作所有用户的系统范围命令。可使用以下命令检查 vcpkg 版本:

vcpkg version

tar.gz 不再需要该文件,将其删除:

rm -rf vcpkg.tar.gz

测试 vcpkg

可使用 vcpkg install 命令来构建和安装库。例如,以下命令安装 zlib / tbb 库。但可能还需要安装其他的包,可以从错误信息中找到。

sudo apt-get install pkg-configsudo vcpkg install tbb:x64-linux

运行以下命令以获取已安装库的列表:

sudo vcpkg list

卸载 vcpkg

如果想彻底删除 vcpkg,删除安装目录:

sudo rm -rf /opt/vcpkg

删除符号链接:

sudo rm -rf /usr/local/bin/vcpkg

删除 vcpkg 缓存和相关目录:

sudo rm -rf /root/.cache/vcpkg
sudo rm -rf /root/.vcpkg
rm -rf ~/.vcpkg

测试 TBB

在项目根目录下新建.vscode 文件夹,在其下新建 setting.json 文件,将如下内容拷贝进去:

"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools",
"cmake.configureSettings": {"CMAKE_TOOLCHAIN_FILE": "/opt/vcpkg/scripts/buildsystems/vcpkg.cmake"
},
"cmake.buildDirectory": "${workspaceFolder}/build",
"C_Cpp.errorSquiggles": "enabled",

项目根目录下新建 CMakeLists.txt 文件:

cmake_minimum_required(VERSION 3.11)project(BlinkHash)set(CMAKE_CXX_STANDARD 17)# 寻找TBB库
find_package(TBB CONFIG REQUIRED)# include_directories(${PROJECT_SOURCE_DIR}/lib)# 添加可执行文件
file(GLOB SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/test/*.cpp")
add_executable(app ${SRC_LIST})target_link_libraries(app PRIVATE TBB::tbb TBB::tbbmalloc)

迁移 WSL

查看系统版本

wsl -l -v

关闭系统

wsl --shutdown

迁移系统

wsl --export Ubuntu E:\EnvironmentSetting\CPP\UbuntuWSL\Ubuntu.tar

迁移后注销原系统

wsl --unregister Ubuntu# 查看是否真的注销成功
wsl -l -v

导入系统

wsl --import <导入的Linux名称> <导入盘的路径> <ubuntu.tar的路径> --version 2 (代表wsl2)

wsl --import Ubuntu E:\EnvironmentSetting\CPP\UbuntuWSL\ E:\EnvironmentSetting\CPP\UbuntuWSL\Ubuntu.tar --version 2

修改默认用户:打开 wsl ubuntu 之后,默认以 root 身份登录

ubuntu.exe config --default-user flyboy

压缩系统镜像文件

先使用命令行来检查 wsl 状态,若为 running 需关闭它。

wsl --list --verbosewsl --shutdown

使用 diskpart 压缩 wsl 虚拟磁盘

在命令行启动 diskpart 工具:

diskpart

确定虚拟磁盘文件的位置,用 diskpart 选择这个文件:

select vdisk file="{vhdx文件名}"select vdisk file="E:\EnvironmentSetting\CPP\UbuntuWSL\ext4.vhdx"# DiskPart 已成功选择虚拟磁盘文件。

再执行压缩命令:

detach vdiskattach vdisk readonly    // "所请求的操作需要以只读方式"  请执行这一步compact vdiskexit

注意:在执行任何磁盘操作之前,最好备份重要数据并谨慎操作,以免造成数据丢失或其他意外情况。


http://www.lryc.cn/news/192539.html

相关文章:

  • VS Code:CMake配置
  • Flex 词法分析实验实现(电子科技大学编译技术Icoding实验)
  • 设计模式——20. 解释器模式
  • 多输入多输出 | MATLAB实现CNN-BiLSTM-Attention卷积神经网络-双向长短期记忆网络结合SE注意力机制的多输入多输出预测
  • 一文让你玩转Linux多进程开发
  • Linux线程同步实例
  • LuatOS-SOC接口文档(air780E)-- iconv - iconv操作
  • matlab第三方硬件支持包下载和安装
  • docker compose和consul(服务注册与发现)
  • 使用Python进行钻石价格分析
  • Java日期查询
  • uniapp 运行到 app 报错 Cannot read property ‘nodeName‘ of null
  • Mac M1通过homebrew安装Redis报错(perl: unknown or unsupported macOS version: :dunno)
  • 如何在 Spring Boot 中进行分布式追踪
  • Lniux三剑客——Grep
  • 选实验室超声波清洗机易忽视的内容?小型清洗机的优点有?
  • 基于Java使用SpringBoot+Vue框架实现的前后端分离的美食分享平台
  • 开源数据库MySQL 8.0 OCP认证精讲视频、环境和题库 之二
  • AI对网络安全的影响与挑战
  • 微信小程序备案流程操作详解,值得收藏
  • 【NLTK系列01】:nltk库介绍
  • 人机环境系统智能有利于防止人工智能失控
  • 用于多目标检测的自监督学习(SELF-SUPER VISED LEARNING FOR MULTIPLE OBJECTDETECTION)
  • HDLbits: ps2data
  • SpringCloudAlibaba SpringCloud SpringBoot 版本对照
  • Swift基础
  • 基于php+thinkphp+vue的校园二手交易网站
  • SystemVerilog Assertions应用指南 第一章(1.25章节 “first_match”运算符)
  • python和go执行字符串表达式
  • Python算法练习 10.14