如何在WSL上导入任何Linux发行版
文章目录
- 一、准备
- 1. 开启`WSL`相关功能
- 2. 升级`WSL`
- 3. 设置默认的wsl版本
- 二、通过 Microsoft Store 安装 Linux
- 1. 查看 Microsoft Store 有哪些可安装的 Linux 发行版
- 2. 安装 Linux 发行版
- 3. 查看已安装的 Linux 发行版
- 4. 启动Linux发行版
- 三、通过Linux发行商提供的tar文件安装
- 1. 导入 Alpine 发行版 Linux
- 2. 启动 Alpine Linux
- 四、通过Docker中导出容器的tar文件安装
- 1. 在Docker中拉取CentOS镜像
- 2. 创建CentOS容器
- 3. 导出CentOS容器为tar文件
- 4. 将tar文件导入到WSL
- 5. 启动新导入的 CentOS
本文将总结如何在WSL上安装Linux发行版。
总结三种方式:
1)从Microsoft Store安装;
2)从Linux发行商提供的tar文件安装;
3)从Docker中导出容器的tar文件安装;
一、准备
1. 开启WSL相关功能
在启用或关闭 Windows 功能中,勾选适用于 Linux 的 Windows 子系统、虚拟机平台,确认保存后重启系统。

2. 升级WSL
在命令行窗口,执行如下命令,升级wsl
wsl --update
3. 设置默认的wsl版本
在命令行窗口,执行如下命令,设置wsl2为默认的版本
wsl --set-default-version 2
二、通过 Microsoft Store 安装 Linux
1. 查看 Microsoft Store 有哪些可安装的 Linux 发行版
使用wsl -l -o查看Microsoft Store有哪些可安装的 Linux 发行版
D:\WSL2>wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed
2. 安装 Linux 发行版
这里以Debian为例
D:\WSL2>wsl --install Debian
正在安装: Debian GNU/Linux
已安装 Debian GNU/Linux。
正在启动 Debian GNU/Linux...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: chen
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
chen@GC:~$
安装过程中,会要求创建用户、设置密码,安装成功后便以该用户进入bash交互模式
3. 查看已安装的 Linux 发行版
使用wsl -l -v命令,可以查看当前已安装的Linux发行版
D:\WSL2>wsl -l -vNAME STATE VERSION
* Ubuntu-22.04 Running 2docker-desktop Running 2docker-desktop-data Running 2Debian Stopped 2
Ubuntu-22.04、docker-desktop、docker-desktop-data 这三个是我本地安装Docker Desktop时自动安装的。
4. 启动Linux发行版
首次安装后会自动进入bash交互模式,若后续想再次进入,可执行wsl -d <Distro>命令
D:\WSL2>wsl -d Debian
chen@GC:/mnt/d/WSL2$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
三、通过Linux发行商提供的tar文件安装
部分Linux发行商会提供 包含发行版的所有 Linux 二进制文件 的tar包。比如:Alpine Linux
Alpine各版本下载:https://dl-cdn.alpinelinux.org/alpine/
下载适合你的版本,注意要tar.gz包,不是iso包。
我这里为了演示,下载的是minirootfs(只有3M,你能想象一个系统只有3M真的是牛啊):
alpine-minirootfs-3.18.3-x86_64.tar.gz
1. 导入 Alpine 发行版 Linux
使用wsl --import命令,将指定的 tar 导入为新分发。
完整格式:wsl --import <Distro> <InstallLocation> <FileName> [Options]
D:\WSL2>cd AlpineD:\WSL2\Alpine>dir /B
alpine-minirootfs-3.18.3-x86_64.tar.gzD:\WSL2\Alpine>wsl --import Alpine3.18 . .\alpine-minirootfs-3.18.3-x86_64.tar.gz
正在导入,这可能需要几分钟时间。
操作成功完成。D:\WSL2\Alpine>
2. 启动 Alpine Linux
D:\WSL2\Alpine>wsl -d Alpine3.18
GC:/mnt/d/WSL2/Alpine# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.18.3
PRETTY_NAME="Alpine Linux v3.18"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
GC:/mnt/d/WSL2/Alpine# cat /etc/alpine-release
3.18.3
GC:/mnt/d/WSL2/Alpine#
四、通过Docker中导出容器的tar文件安装
这里假定你已经按照了Docker Desktop或Docker Engine。
Windows Docker Desktop 安装
在CentOS中安装Docker Engine
更多安装方式可参考docker官网:
https://docs.docker.com/desktop/
https://docs.docker.com/engine/install/
接下来以安装 CentOS为例
(实际上docker上能找到几乎所有的Linxu/Unix等发行版)
1. 在Docker中拉取CentOS镜像
docker pull quay.io/centos/centos:centos7.9.2009
相信大多数人都无法访问 https://hub.docker.com/
如何知道CentOS有哪些版本(tag)可下载呢?
请参考:
Docker 中下载各版本的 CentOS、CentOS Steam 方式
也可以用官方的centos仓库下载
docker pull centos:centos7.9.2009
但官方的仓库里没有 stream 的版本,quay.io/centos/centos 仓库提供了所有版本(CentOS、CentOS Stream 各个版本)
2. 创建CentOS容器
D:\WSL2>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/centos/centos stream9 e3d50dda340a 38 hours ago 154MB
alpine latest 7e01a0d0a1dc 3 weeks ago 7.34MB
centos centos7.9.2009 eeb6ee3f44bd 23 months ago 204MB
quay.io/centos/centos centos7.9.2009 8652b9f0cb4c 2 years ago 204MBD:\WSL2>docker create --name CentOS7.9 8652b9f0cb4c
bd2f4bc3336e492dbea363e41c70f5356f70449395a1a3122acbafa604c9034b
直接复制IMAGE ID,然后使用docker create命令创建
3. 导出CentOS容器为tar文件
D:\WSL2\CentOS>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bd2f4bc3336e 8652b9f0cb4c "/bin/bash" About a minute ago Created
1852bde26843 centos:centos7.9.2009 "/bin/bash" 4 days ago Exited (127) 4 days ago centos7D:\WSL2\CentOS>docker export -o centos7.9.2009.tar bd2f4bc3336eD:\WSL2\CentOS>dir /B
centos7.9.2009.tar
复制CONTAINER ID,使用docker export -o命令导出容器为tar文件
4. 将tar文件导入到WSL
D:\WSL2\CentOS>wsl --import CentOS7.9 . .\centos7.9.2009.tar
正在导入,这可能需要几分钟时间。
操作成功完成。D:\WSL2\CentOS>wsl -l -vNAME STATE VERSION
* Ubuntu-22.04 Running 2docker-desktop Running 2docker-desktop-data Running 2Alpine3.18 Stopped 2CentOS7.9 Stopped 2
5. 启动新导入的 CentOS
D:\WSL2\CentOS>wsl -d CentOS7.9
[root@GC CentOS]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@GC CentOS]#
相关文章:
如何在WSL上导入任何Linux发行版
文章目录 一、准备1. 开启WSL相关功能2. 升级WSL3. 设置默认的wsl版本 二、通过 Microsoft Store 安装 Linux1. 查看 Microsoft Store 有哪些可安装的 Linux 发行版2. 安装 Linux 发行版3. 查看已安装的 Linux 发行版4. 启动Linux发行版 三、通过Linux发行商提供的tar文件安装1…...
汽车自适应巡航系统车距控制策略研究
1 引言 自适应巡航控制( Adaptive Cruise Control,ACC) 是汽车驾驶辅助系统的重要组成部分,其作用是根据车距传感器探测到本车( ACC 车辆) 与主目标车辆( 前车) 之间的相对位置和相对速度信息,自动调节ACC 车辆的节气门开度或部分制动力矩( 即…...
鸿蒙系列-如何更好地使用 ArkUI 的 Image 组件?
如何使用好 ArkUI 的 Image 组件? 开发者经常需要在应用中显示一些图片,例如:按钮中的logo、网络图片、本地图片等。在应用中显示图片需要使用 Image 组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg和gif&am…...
机器学习简介[01/2]:简单线性回归
Python 中的机器学习简介:简单线性回归 一、说明 简单线性回归为机器学习提供了优雅的介绍。它可用于标识自变量和因变量之间的关系。使用梯度下降,可以训练基本模型以拟合一组点以供未来预测。 二、技术背景 这是涵盖回归、梯度下降、分类和机器学习的其…...
Kubernetes技术--k8s核心技术yaml资源编排
(1).引入 我们可以使用kubectl实现单行指令的操作,但是这样做的坏处是不复用,所以为了更好的实现对一系列资源的编排工作。kuberntes中使用一种叫做资源清单文件(yaml)来实现对资源管理和资源对象编排部署。 (2).概述 yaml是一种标记语言。为了强调这种语言以数据做为中心,而…...
clickhouse-配置解释
详细内容看官网文档 一、全局服务配置 1.配置详解 名称含义默认值allow_use_jemalloc_memory允许使用 jemalloc 内存1(布尔)asynchronous_heavy_metrics_update_period_s更新异步指标的时间段(以秒为单位)120asynchronous_metr…...
基于亚马逊云科技无服务器服务快速搭建电商平台——性能篇
使用 Serverless 构建独立站的优势 在传统架构模式下,如果需要进行电商大促需要提前预置计算资源以支撑高并发访问,会造成计算资源浪费并且增加运维工作量。本文介绍一种新的部署方式,将 WordPress 和 WooCommerce 部署在 Amazon Lambda 中。…...
LINQ详解(查询表达式)
什么是LINQ? LINQ(语言集成查询)是将查询功能直接集成到C#中。数据查询表示简单的字符串,在编译时不会进行类型检查和IntelliSense(代码补全辅助工具)支持。 在开发中,通常需要对不同类型的数据源了解不同的查询语句,如SQL数据库…...
【DEVOPS】现状篇
0. 目录 1. 前言2. 现状2.1 需求管理2.2 开发流程2.3 测试流程2.4 部署流程2.5 维护阶段 3. 后记4. 相关 1. 前言 一直以来,深感内部工程化能力欠缺,急于将事情向前推进,总是希望能够向前走几步,再走几步。 可惜的是,…...
Linux文件管理知识:查找文件(第二篇)
Linux文件管理知识:查找文件(第二篇) 上篇文章详细介绍了linux系统中查找文件的工具或者命令程序locate和find命令的基本操作。那么,今天这篇文章紧接着查找文件相关操作内容介绍。 Find命令所属操作列表中的条目,有助于我们想要…...
医疗小程序:让服务更高效,用户体验更优化
随着移动互联网的快速发展,小程序已经成为了一个热门的开发方向。医疗健康类小程序也不例外,拥有广泛的市场需求和前景。本文将为你提供一份完整的医疗健康类小程序开发攻略,帮助你快速开发上线一个专业成熟的小程序商城。 一、选择合适的小程…...
C++11 std::transform函数使用说明
std::transform是C标准库中的一个算法,它用于对输入范围内的元素进行操作,并将结果存储在输出范围内。这个算法特别适合于将一种数据类型转换为另一种数据类型。 函数定义在头文件algorithm中 std::transform的基本语法如下: std::transfor…...
JavaScript-DOM查询
获取元素节点 获取元素节点的子节点 元素节点的属性 节点的修改 JavaScript中的DOM(文档对象模型)是一种编程接口,它允许JavaScript与HTML文档交互。创建DOM查询,可以使用多种方法. 获取元素节点 1. getElementById() – 通…...
大数据-玩转数据-Flink 水印
一、Flink 中的水印 在Flink的流式操作中, 会涉及不同的时间概念: 1.1 处理时间 是指的执行操作的各个设备的时间,对于运行在处理时间上的流程序, 所有的基于时间的操作(比如时间窗口)都是使用的设备时钟。比如, 一个长度为1个小时的窗口将会包含设备…...
【Apollo】阿波罗自动驾驶系统:驶向未来的智能出行(含源码安装)
前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…...
网络-Netty
how pipeline.addLast(ChannelHandler)...
如何使用vue-smooth-dnd
Vue Smooth DnD是一个基于Vue的平滑易用的拖放库。它提供了简单易用的API和可自定义的样式。 要使用Vue Smooth DnD,可以按照以下步骤进行操作: 安装Vue Smooth DnD npm install vue-smooth-dnd --save 在组件中引入Vue Smooth DnD import VueSmoot…...
为AWS认证做好准备:一份全面的备考指南
随着云计算的快速发展,越来越多的专业人士选择获取AWS(亚马逊网络服务)认证。这个认证不仅可以证明你对AWS的理解和专业技能,还有助于你在云计算领域获得更好的工作机会。 以下是一份全面的备考指南,帮助你为AWS认证做…...
尚硅谷SpringMVC
九、HttpMessageConverter...
django的简易的图书管理系统jsp书店进销存源代码MySQL
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 django的简易的图书管理系统 系统有1权限:…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...
零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)
经过前面几期的内容我们学习了很多网络安全的知识,而这期内容就涉及到了前面的第六期-RCE模块,第七期-File inclusion模块,第八期-Unsafe Filedownload模块。 什么是"遍历"呢:对学过一些开发语言的朋友来说应该知道&…...
