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

一.安装前的环境准备

1.升级Windows系统

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

2.打开开发人员模式

二.启动WSL和虚拟机

1.启用WSL

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

2.启用虚拟机平台

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

3.下载和安装wsl更新包

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

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

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属性:



  同时选中使用TLS 1.0、TLS 1.1、TLS 1.2和TLS 1.3(实验性),然后确定,然后就可以打开Windows Store了。安装Ubuntu 20.04 LTS如下:

2.安装WSL并设置账号

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

3.设置默认root用户登录

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

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

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

  接下来根据需要进行操作,比如替换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

Windows10安装WSL2和Ubuntu的过程的更多相关文章

  1. windows10安装配置WSL(Ubuntu)

    windows10安装配置WSL(Ubuntu) 怎么在windows系统上用上Linux?有这么几种方法: 1. 安装双系统.这种方法的缺点是每次切换系统都需要关机.切换系统. 2. 虚拟机+Lin ...

  2. 安装 WSL2、Ubuntu 及 docker(详细步骤)

    本文链接:https://www.cnblogs.com/tujia/p/13438639.html 一.更新Windows版本 WSL 2 随着 Windows build 19041 而推出,能更 ...

  3. windows10 安装win10和ubuntu 16.04双系统

    安装教程如下 亲测可用 https://www.cnblogs.com/masbay/p/10844857.html 镜像路径如下 http://releases.ubuntu.com/16.04/ ...

  4. Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用

    Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具.实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销. WSL 说白了安装Li ...

  5. 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程

    由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...

  6. windows10安装ubuntu双系统教程(初稿)

    windows10安装ubuntu双系统教程(绝对史上最详细) Win10 Ubuntu16.04/Ubuntu18.04双系统完美安装 Windows10+Ubuntu18.04双系统安装成功心得( ...

  7. WSL2(Ubuntu)安装Docker

    原文链接:https://www.cnblogs.com/blog5277/p/12071400.html 原文作者:博客园--曲高终和寡 *******************如果你看到这一行,说明 ...

  8. 安装Windows和Ubuntu双系统2

    安装Windows和Ubuntu双系统 0.552016.12.10 15:54:41字数 2101阅读 6644 这几天开始动手做毕设啦,打算好好过把Linux瘾,接下来便是这两天我在联想电脑上安装 ...

  9. 安装Windows和Ubuntu双系统

    发现关注消息 安装Windows和Ubuntu双系统     安装Windows和Ubuntu双系统 0.552016.12.10 15:54:41字数 2101阅读 6644 这几天开始动手做毕设啦 ...

  10. Ubuntu系统启动过程详解

    作者:杨硕,华清远见嵌入式学院讲师. 一. Ubuntu的启动流程 ubuntu的启动流程和我们熟知的RedHat的启动方式有所区别. RedHat的启动过程如下图: 这是我们熟知的linux启动流程 ...

随机推荐

  1. nittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理

    项目结构 测试用例 import unittest class LoginTestCase(unittest.TestCase): def test_login_success(self): self ...

  2. for遍历

    for遍历 一:常规方式 1.遍历数组 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(int i = 0;i<10;i++) { cout<<a ...

  3. LVS负载均衡概念+三种模式

    1.LVS负载均衡概念剖解: 1)LVS技术全称:Linux virtual Server ,Linux虚拟机服务器集群,1998由章文嵩博士设计.并且开源的,是中国最早的开源软件项目之一.   2) ...

  4. k8s-服务网格实战-入门Istio

    背景 终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了: 如何部署应用到 kubernetes 服务之间如何调用 如何通过域名访问我们的服务 如何使用 kubernetes 自带的配置 Co ...

  5. Isito 入门(八):金丝雀发布

    本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 6,金丝雀发布 金丝雀发布 按照流量比例划分 按照 Header 划分 6,金丝雀发布 项目总是处于不断变化之中 ...

  6. FreeSWITCH在answer前主动发dtmf

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 NAT环境的主动外呼场景下,会遇到线路侧回铃音数据无法接收的问题,需要FreeSWITCH主动发送RTP数据,发送D ...

  7. Socket是什么/怎么理解Socket

    Socket 先来看一下百度百科对于Socket的介绍:套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开.读写和关闭等操作.套接字允许应用程序将I/O ...

  8. Java8新特性之FlatMap&Reduce

    1.FlagMap // flatMap:接收一个T返回一个R,将一个元素转为一个新的流 ;R apply(T t); <R> Stream<R> flatMap(Functi ...

  9. 华企盾DSC申请解密在键盘中勾选会自动取消

    解决方法:打开系统偏好设置-键盘--服务,由于服务中超出了系统支持的最大菜单数,删除两个即可

  10. 【Python】【OpenCV】视频帧和摄像头帧操作 and 窗口显示

    一.读取写入视频文件 1 import cv2 2 3 # 创建一个视屏捕获对象 4 videoCapture = cv2.VideoCapture('AVI.avi') 5 6 # 获取视频的属性值 ...