最好用的Linux发行版---WSL

news2024/11/15 1:42:26

使用debian开发半年,那个号称稳定的操作系统,ubuntu也是基于它的testing版本开发的,在一次设置testing更新后英伟达驱动掉了、引导区无法启动、bios损坏,现在老实了,换回了Window,并且激进的选择了win11,但我还是难以忘记linux爽快的开发体验,便用上了wsl

安装Linux

  • 控制面板 -> 程序和功能-> 打开或关闭 Windows 功能->勾选 适用于 Linux 的 Windows 子系统
  • CPU开启虚拟化

win+s搜索CMD然后右键以管理员身份打开

设置为wsl2

wsl --set-default-version 2

默认安装Ubuntu

wsl --install
or 国内安装
wsl --install --web-download

指定系统安装

#查看在线版本
wsl --list --online
#安装指定Debian系统
wsl --install Debian --web-download

查看已安装的版本(*表示当前使用的Linux版本)

wsl -l -v

使用Linux

设置默认使用的Linux

wsl --set-default Debian

进入系统

#进入当前使用的Linux
wsl
#进入指定的Linux
wsl -d Debian

文件管理

win上查看或使用Linux文件

wsl里执行以下命令可以用winvscode打开wsl里的文件

code .

或者在win文件管理器的Linux搜索

\\wsl$

在这里插入图片描述

Linux上查看或使用win文件

其实就是把win的文件系统挂载到了linux的mnt目录

切换到c

cd /mnt/c
#查看文件
ls

切换到d

cd /mnt/d
#查看文件
ls

备份与恢复Linux

将当前使用的Linux系统备份到D:\目录下,文件名为debian

wsl --export Debian D:\debian

导入备份,导入后文件的路径及源文件路径

wsl --import Debian D:\test D:\debian

启用systemd

vi /etc/wsl.conf
#添加内容
[boot]
systemd=true
command = /home/iuxt/start.sh

在linux使用win软件或命令

使用win记事本打开文件

notepad.exe 文件名

退出linux

exit

在win使用linux命令或软件

使用linux命令查看文件内容

wsl + linux命令
如
wsl cat yarn.lock

卸载linux

wsl --unregister Debian

wsl支持显卡直通

wsl nvidia-smi

wsl开发环境配置

  • 创建root用户(三次密码,第一次验证当前密码)
sudo passwd root
  • 更新(右键粘贴)
sudo apt update && sudo apt upgrade
  • Microsoft Store安装Windows Terminal

打开后右键窗口->设置->默认终端程序改为Windows终端并保存,下一次win->cmd就是新装的Windows Terminal

  • vscode安装插件Remote Development
  • 编辑配置
# 切换到root用户
su root
# 编辑配置
vi /etc/wsl.conf

配置内容如下:

[boot]
systemd=true

配置后退出wsl8秒后,重启重新进入子系统使配置生效

# 退出,root用户退出两次到win
exit
# 停机
wsl --shutdown
# 启动
wsl -d Debian

其他配置:https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config

wsl安装docker

进入linux

wsl
# 切换到root用户
su root

添加镜像地址(不清楚哪个镜像可用,如果docker无法启动,将此文件删掉:rm /etc/docker/daemon.json

# 创建目录
mkdir -p /etc/docker
# 执行命令添加镜像地址
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
    ]
}
EOF
# 重新加载
systemctl daemon-reload

3、安装dockerdockercompose

设置当前环境镜像地址

export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"

卸载原有docker

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do apt-get remove $pkg; done

安装依赖

apt-get update
apt-get install ca-certificates curl gnupg

信任 DockerGPG 公钥并添加仓库

install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

安装dockerdockercompose

apt-get update

apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

设置自启动

# 设置 Docker 自启动 
systemctl enable docker
# 立即重启 Docker
systemctl restart docker

验证

docker -v

docker compose version

wsl开发建议,由于删除wsl非常便捷!

  • 编写代码应当在本机编写,运行代码可在linux中进行

  • 使用wsl部署数据库,请及时备份sql文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2047463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言中的宏函数及c++的内联函数及auto及NULL

c的内联函数 使用内联函数可以减少函数栈帧的开销。 Swap(a, b); 00A516C8 mov eax,dword ptr [a] 00A516CB mov dword ptr [ebp-20h],eax 00A516CE mov ecx,dword ptr [b] 00A516D1 mov dword ptr [a],ecx 00A516D4 mov …

Linux登录后自动健康检查:一键掌握系统状态

Linux登录后自动健康检查&#xff1a;一键掌握系统状态 最近开始公众号文章也开始同步更新了&#xff0c;对Java、大数据、人工智能、开发运维相关技术分享&#xff0c;文章对您有用的话&#xff0c;辛苦您也关注下公众号&#xff0c;感谢&#xff01; 引言 当我们登录到某些服…

rt-thread 打开flashdb若干问题

1、打开FAL和SFUD功能 2、打开FLASHDB时&#xff0c;想用utest测试工程&#xff0c;结果报错&#xff0c;缺少mkdir函数&#xff1a; 解决办法&#xff1a;打开DFS RT-Thread Components → DFS: device virtual file system 重新编译

大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

windows重装系统后无法安装软件,Windows软件无法打开,缺少dll,缺少c++运行库

如果你使用Directx&#xff0c;要么识别不出来&#xff0c;要么装上之后更新会发现重复安装了很多运行库 装一个visual stiudio&#xff1a;<Visual Studio 2022 IDE - 适用于软件开发人员的编程工具> 选择使用C游戏开发、.Net桌面开发 然后安装即可

学习Java的日子 Day71 手写一个SpringMVC的框架(一)

手写一个SpringMVC的框架 1.理解为什么要写这样一个框架 SpringMVC 实际上跟Servlet是一样&#xff0c;都是 Controller的一个解决方案&#xff0c;也就是说我们手写这个框架的目的就是为了替换原来的 Servlet 注意&#xff1a; spring不是框架&#xff0c;springMVC才是框架&…

一文入门mysql 数据库

一、数据库概述 什么是数据库 数据库是一个用于存储和管理数据的仓库。数据按照特定的格式存储&#xff0c;可以对数据库中的数据进行增加、修改、删除和查询操作。数据库的本质是一个文件系统&#xff0c;按照一定的逻辑结构组织数据&#xff0c;以方便高效地访问和维护。 什…

使用Python创建LNK文件选择器并导出配置文件

在这篇博客中&#xff0c;我将介绍如何使用Python的wxPython库开发一个GUI应用程序&#xff0c;该应用程序可以选择文件夹中的.lnk&#xff08;快捷方式&#xff09;文件&#xff0c;并将选中的文件导出为特定格式的buttons.ini配置文件。这个工具非常适合用来快速生成配置文件…

使用Java调用Apache commons-text求解字符串相似性实战

目录 前言 一、字符串距离的几种计算方法 1、Levenshtein 距离 2、Overlap Coefficient计算 3、Q-gram Matching 4、余弦相似性计算 二、基于余弦相似性的基地名称对比 1、加载百科中的基地信息列表 2、设置忽略词列表 3、将数据库地名和Excel进行对比 三、总结 前言…

c语言音频.wav读写示例

1 .wav格式说明 一. RIFF 概念 在 Windows 环境下&#xff0c;大部分的多媒体文件都依循着一种结构来存放信息&#xff0c;这种结构称为"资源互换文件格式"(Resources lnterchange File Format)&#xff0c;简称 RIFF。例如声音的 WAV 文件、视频的 AV1 文件等等均…

EmguCV学习笔记 VB.Net 2.4 Image类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址&#xff1a;VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…

【图解秒杀系列】秒杀技术点——秒杀按钮点亮、削峰

【图解秒杀系列】秒杀技术点——秒杀按钮点亮、削峰 秒杀按钮点亮涉及的问题以及解决办法处理流程 削峰答题 & 验证码具体流程 排队 秒杀按钮点亮 在秒杀场景中&#xff0c;秒杀商品页面是需要处理按钮点亮的逻辑的。在秒杀未开始前&#xff0c;按钮置灰&#xff0c;不可点…

POSIX信号量semaphore实现线程同步

POSIX标准定义了信号量接口如下&#xff0c;常常用于线程间同步。 #include <semaphore.h>int sem_init(sem_t *sem, int pshared, unsigned int value); int sem_destroy(sem_t *sem); int sem_post(sem_t *sem); int sem_wait(sem_t *sem); sem_init()在sem指向的地址…

微信小程序反编译工具

目录 介绍 工程结构还原 微信开发者工具运行 如何查看当前运行版本? 开启小程序F12 重新打包运行 效果示例 安装 用法 参数说明 获取微信小程序AppID 文件夹名即为AppID 下载地址 介绍 纯Golang实现,一个用于自动化反编译微信小程序的工具,小程序安全利器, 自…

【杂谈】-8个常用的Python图像操作库

8个常用的Python图像操作库 文章目录 8个常用的Python图像操作库1、OpenCV2、Pillow&#xff08;PIL&#xff09;3、Scikit Image4、Numpy5、SciPy6、Mahotas7、SimpleITK8、Matplotlib 在当今世界&#xff0c;数据在每个行业垂直领域中都发挥着至关重要的作用。图像可以是提取…

Redis 操作的原子性及其保证机制

Redis 操作的原子性及其保证机制 1、单命令的原子性2、事务的原子性3、并发操作的考虑4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; Redis 的操作之所以是原子性的&#xff0c;主要得益于其单线程的执行模型。这种模型确保了每个命…

5.9.8 最优化控制初探——PID参数优化

总目录&#xff1a;http://t.csdnimg.cn/YDe8m 5.9.8 最优化控制初探——PID参数优化 之前在“A_2_PID控制转速例程”例程中&#xff0c;PID参数是手动调节的。然而在已经获得系统完整数学模型的情况下&#xff0c;我们可以使用效率更高的方法&#xff0c;即最优化控制。先来看…

Nios II新建项目

1.Nios II Application and BSP form Template BSP:board support package&#xff08;板级支持包&#xff09; 2.Nios II Sotware Examples SOPC Information File name:选择项目文件夹下的 .sopcinfo 文件 Project name:自定义名称 Project location:Use default locatio…

删除镜像报容器依赖错误

1、删除镜像报容器依赖错误 出现这个错误的原因是因为5303b5323a4c容器使用了此镜像。解决&#xff1a;先停止容器、删除容器、之后再镜像即可。 2、查看镜像对应的容器 # docker ps -a | grep 611a37aa5ffc 3、先停止容器 # docker stop 5303b5323a4c 4、删除容器 # do…

Spring Boot: 2.7.x 至 2.7.18 及更旧的版本,漏洞说明

本文提供的修复指南将帮助开发者有效规避 CVE-2024-38808 和 CVE-2024-38809 的风险。如果你正在使用老版本的 Spring Boot&#xff0c;请尽快参考本文进行修复与升级。 此漏洞来源于spring官网&#xff1a;https://spring.io/blog/2024/08/14/spring-framework-releases-fixe…