Windows10安装WSL2和Ubuntu的过程

  因为在Windows10环境中安装了2个相同的包导致冲突,所以想到了通过WSL2+Docker的方式进行编程开发。因为Docker Desktop直接安装就行了,不做介绍。本文主要介绍WSL2和Ubuntu的安装过程。

一.安装前的环境准备

1.升级Windows系统

  因为低于某个版本号不支持WSL2,所以尽可能将Windows系统升级下。Windows版本号如下:363997f595856bc4fb5e8ad2232211d0.png

2.打开开发人员模式

f0d9e29f1217d3d2a610f030b855ced2.png

二.启动WSL和虚拟机

1.启用WSL

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
64c35f576c821faf6291809d9c859add.png

2.启用虚拟机平台

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3.下载和安装wsl更新包

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

下载wsl更新包后进行安装:fb7566863917af0758b766f6d3649098.png

4.设置WSL2为默认版本:

wsl --set-default-version 2

可以通过wsl -l -v查看wsl的版本信息。

三.安装Ubuntu 20.04 LTS

1.应用商店打不开问题

  本想通过Windows Store安装Ubuntu 20.04 LTS,但是发现应用商店打不开。参考[1]执行命令inetcpl.cpl打开Internet属性:
b96393fa64e06af6094c44ee6f38242e.png  同时选中使用TLS 1.0、TLS 1.1、TLS 1.2和TLS 1.3(实验性),然后确定,然后就可以打开Windows Store了。安装Ubuntu 20.04 LTS如下:6c0bb9fa2a26d4c2b50aa8f26a32a88d.png

2.安装WSL并设置账号

  打开并等待WSL安装,然后设置用户名和密码:8c6b59362c5a0a5fffdfe96329796008.png

3.设置默认root用户登录

将下面的XXX替换为相应的用户名:

C:\Users\xxx\AppData\Local\Microsoft\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\ubuntu2004.exe config --default-user root

重启WSL后可看到默认登录为root用户:36b0d1ea19b7bcd1dfeffd616073ac99.png

  接下来根据需要进行操作,比如替换Ubuntu 20.04 LTS默认下载源为阿里源,安装ssh服务,在Windows和WSL间拷贝文件,通过Ubuntu安装Docker镜像,通过ssh进行Rider的远程开发等。后面尽可能的把所有的应用迁移到Docker和K8S中来做云原生开发。

参考文献:
[1]Microsoft Store无法加载页面,请稍后重试:https://blog.csdn.net/weixin_42618659/article/details/112716449
[2]Windows 10专业版安装WSL2:https://blog.csdn.net/li1325169021/article/details/124285018

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

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

相关文章

Hyper-V数据文件丢失解决方案(有图有真相)

一、Hyper-V虚拟化故障概述 1、虚拟机环境故障虚拟化环境为ESXI虚拟化服务器,虚拟机环境,虚拟机的硬盘文件和配置文件放在北京某服务器托管公司的DELL MD3200存储中(存储由5块容量为600G的硬盘组成raid磁盘阵列)。该存储中4块硬盘…

关于bedtools merge 功能中sort 命令的解释

Bedtools 是一个很好的用来处理区间的工具,很多时候用这个底层语言编写的小工具比自己写的脚本运行快很多,但是这个工具中的某些功能对输入文件有一定的要求,比如说里面的一个merge函数,这是里面的一个note: Note&…

cocos2dx 3.x(屏幕截图的两种方法)

【RenderTexture】 RenderTexture这个动态纹理类,顾名思义就是可以动态创建纹理图片。 屏幕截图主要步骤: > 开始截图:render->begin(); > 遍历场景:scene->visit(); > 结束截图:render->end(); >…

SQL小技巧,动态输出本周各天日期

SET DATEFIRST 1; --设置周一为每周第一天 SELECT DATEFIRST;WITH w AS(SELECTCONVERT(varchar(10),T.[Date],120) AS [Date],DATENAME(weekday, T.[Date] ) AS [Week],DATEPART(WK, T.[Date]) AS WeekIndexFROM(SELECTDATEADD(DAY, number, DATEADD(wk, DATEDIFF(wk, 0, get…

开源的价值观与文化的传递

| 作者:Sharan Foga, Apache 软件基金会董事(2021 届、2022 届),曾亲身来到 2019 中国开源年会(COSCon19)以本文内容发表主题演讲。| 翻译:刘天栋.Ted,徐红伟.stronghx| 审阅&#x…

用python来更改小伙伴的windows开机密码,不给10块不给开机

今天教大家用python脚本来控制小伙伴们windows电脑的开机密码。没错就是神不知鬼不觉,用random()随机生成的密码,只有你自己知道哦~ 代码呢分两部分,一部分是client端跟server端两个。你只需要想办法让小伙伴运行你的client端脚本就OK啦。不过…

Vue中@click.stop与@click.prevent

Vue中click.stop与click.prevent 一、click.stop 问题&#xff1a;父元素中添加了一个click事件&#xff0c;其下面的子元素中也添加了click事件&#xff0c;此时&#xff0c;我想点击子元素获取子元素的点击事件&#xff0c;但却触发的是父元素的事件&#xff1a; <view cl…

ES6 promise

如何使用promise对象? 参考连接&#xff1a; http://es6.ruanyifeng.com/#docs/promise 转载于:https://www.cnblogs.com/taoshengyijiuai/p/6963279.html

巧用ThreadPool.QueueUserWorkItem实现接口二次调用

背景最近做了个项目有个接口涉及到批量计算的问题&#xff0c;耗时比较长。大家都知道&#xff0c;接口等待时间太长肯定是不可取的。那么只能做异步处理了&#xff1b;但是问题来了这个项目没有什么消息队列、redis之类的使用&#xff0c;本着怎么简单怎么来的思路&#xff0c…

el-upload 防止选择上传重复文件

<el-uploadref"uploadRef"multipledragaction"":auto-upload"false":file-list"msgPara.MsgFileList":on-change"handleFileChanged" ><el-button type"primary">选择文件</el-button> </el…

jmete 学习--基础之名词解释

一.jmeter 体系结构 1.名词解释 元件 jmemter工具菜单中的一个子菜单&#xff0c;如http请求&#xff0c;事务控制器等&#xff0c;就是一个元件。 组件 一组元件的集合&#xff0c;比如逻辑控制器中有事务控制器&#xff0c;仅一次控制器等&#xff0c;这些都是hi元件&#x…

Testing - 软件测试知识梳理 - 自动化测试

软件开发的过程是一个持续集成和改进的过程&#xff0c;而每一次的改进都可能引进新bug,因此当软件的一部&#xff0c;或者全部修改时&#xff0c;都需要对软件产品重新进行测试。 其目的是要验证修改后的产品是符合需求的&#xff0c;而当没有自动化测试代码时&#xff0c;往往…

Virtual script not found, may missing <script lang=“ts“> / “allowJs“: true / jsconfig.json.volar

解决办法&#xff1a; 在 jsconfig.json 配置文件中设置 "allowJs": true 如果没有jsconfig.json文件&#xff0c;直接在项目要目录创建一个&#xff0c;添加如下配置内容即可&#xff1a; /** Title: This is a file for ……* Author: JackieZheng* Date: 2022…

协鑫集成“熄灯工厂”装上ET工业大脑,验证订单命中率可提高3.99%

4月26日的云栖大会南京峰会&#xff0c;协鑫集成宣布&#xff0c;与阿里云ET工业大脑合作后&#xff0c;通过人工智能验证的订单命中率可提高3.99%。 协鑫集成是全球一线组件制造商&#xff0c;积极致力于推进自主创新与智能制造&#xff0c;综合运用信息通讯、物联网、大数据决…

pip install mysql-connector 安装出错

一、MySQL Connector/Python 2.2.3 的变化&#xff1a; 之前 mysql 官方说MySQL Connector/Python 是纯python语言写的&#xff0c;但是呢&#xff01; 这个问题在2.2.3中变天了&#xff1b; 以下是MySQL Connector/Python 2.2.3 是变更记录 Changes in MySQL Connector/Python…

2022世界传感器大会 | 龙芯中科发布龙芯2K0500多功能SoC芯片及解决方案

8月21日&#xff0c;由工业和信息化部、中国科学技术协会、河南省人民政府共同主办的2022世界传感器大会在郑州开幕&#xff0c;众多诺奖、图灵奖获得者、海内外院士和专家学者出席&#xff0c;全球传感器领域最具影响力的相关企业参加。龙芯中科董事长胡伟武在大会开幕式发表主…

Vue3 配置config文件,打包后随意修改配置,无需重新打包和重启

在public目录创建config.json文件&#xff0c;名字随便起。 {"AppVersion": "1.0","AppTitle": "这里是程序名称" } 修改AppTitle&#xff1a; {"AppVersion": "1.0","AppTitle": "这里是修改后的…

TypeError: pyqtSignal must be bound to a QObject

super(MyQObject, self).__init__() #如果写了__init__()函数&#xff0c;这一行一定要有&#xff0c;否则会出现 #TypeError: pyqtSignal must be bound to a QObject, not MyQObject转载于:https://www.cnblogs.com/CGAlpha/p/6971527.html

Jmeter-3.0的源码导入eclipse并执行

最近在研究jmeter二次开发&#xff0c;所以需要先jmeter导入Eclipse&#xff0c;后续还需要学习jmeter源码以及二次开发的相关知识&#xff0c;到时候也会分享出来&#xff0c;下面是jmeter导入Eclipse的过程首先去官网下载apache-jmeter-3.0的源码包和release包&#xff08;二…

在Vue3中使用Element Plus Icon图标的几种方式

安装 Element Plus $ npm install element-plus/icons在main.js 引入 import * as ElIcon from element-plus/icons-vueObject.keys(ElIcon).forEach((key) > {app.component(key, ElIcon[key]) }) 方式一&#xff1a;通过 icon"el-icon-plus" 使用 <!-- …