Wni11 下 WSL 安装 CentOS
Wni11 下 WSL 安装 CentOS
- 方法一、安装包安装
- 下载包安装
- 安装
- 打开 CentOS
- 1. 从 Windows 终端 打开
- 2. 从 PowerShell 打开
- 方法二、导入 CentOS 的 tar 文件进行安装
- 0. 查看版本(可选)
- 1. 导出 Docker 容器到 tar 文件
- 2. 将 tar 文件导入 WSL
- 2.1. 导入 tar
- 2.2. 改名(重导)
- 2.3. 备份还原
- 2.4. 修改默认系统
- 三、安装完成
- 1. 开启 systemctl
- 2. 修改默认主机名
- 3. 修复命令行高亮丢失的问题
- 4. 设置阿里云的 CentOS 国内源
- 先备份
- 再修改源
- 更新走一波
- 如果没搞定
- WSL 其他常用命令
- 压缩动态扩展虚拟硬盘 (VHD) 文件的物理大小
- 参考资料
方法一、安装包安装
下载包安装
https://github.com/mishamosher/CentOS-WSL
https://wsldl-pg.github.io/docs/Using-wsldl/#distros
https://github.com/wsldl-pg/CentWSL

安装
解压后运行 CentOS7.exe 即可

打开 CentOS
1. 从 Windows 终端 打开
安装 Windows 终端

2. 从 PowerShell 打开

方法二、导入 CentOS 的 tar 文件进行安装
在 docker 中运行一个 CentOS 容器,用 docker exprot 命令导出为 tar 文件。
0. 查看版本(可选)
先查看一下 CentOS 版本,很好是 8.x 前面安装包装的是 7.x 这回装个 8.x
ocker run -it centos /bin/bash
[root@dca578a4bc76 /]# cat /etc/centos-release
CentOS Linux release 8.4.2105
确认版本没问题后,我们按下 Ctrl + P,然后紧接着按下 Ctrl + Q 这样退出 CentOS,但保持容器不终止。用 docker ps 查看一下容器还在:
C:\Users\jerry>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dca578a4bc76 centos "/bin/bash" 4 minutes ago Up 4 minutes wizardly_hypatia
1. 导出 Docker 容器到 tar 文件
- 我先创建个目录用来存导出文件
D:/OS/CentOS8/ - 执行导出命令,格式:
docker export 容器名 > 导出文件.tar
docker export wizardly_hypatia > D:/OS/CentOS8/centos8.4.2105.tar

3. 容器利用完了,可以抛弃它了
docker stop wizardly_hypatia
docker rm wizardly_hypatia
2. 将 tar 文件导入 WSL
2.1. 导入 tar
执行命令格式:wsl --import <发行版名称> <安装目录> <导入文件.tar>
导入成功会在安装目录下生成一个虚拟磁盘镜像文件,比如:ext4.vhdx
wsl --import CentOS8.4.2105 D:\OS\CentOS8 D:\OS\CentOS8\centos8.4.2105.tar
导入完成用 wsl -l -v 查看一下:多了一个 CentOS8.4.2105
C:\Users\jerry>wsl -l -vNAME STATE VERSION
* docker-desktop Running 2CentOS8.4.2105 Stopped 2CentOS7 Stopped 2Debian Stopped 2
2.2. 改名(重导)
这名称太不合群了,我后悔了,还是改改吧,先注销(注销成功会清除安装目录下的 ext4.vhdx),重新导。
wsl --unregister CentOS8.4.2105
wsl --import CentOS8 D:\OS\CentOS8 D:\OS\CentOS8\centos8.4.2105.tar
重新导入效果
C:\Users\jerry>wsl -l -vNAME STATE VERSION
* docker-desktop Stopped 2CentOS8 Stopped 2CentOS7 Stopped 2Debian Stopped 2
2.3. 备份还原
wsl --export 与 wsl --import 配合也可以用来给系统做备份
# ------ 备份 ------
wsl --export centos8 d:\OS\centos8\bak_001.tar# ------ 还原 ------
# 卸载
wsl --unregister centos8
# 导入
wsl --import CentOS8 "D:\OS\centos8" "D:\OS\CentOS8\bak20240908.tar"
2.4. 修改默认系统
方便以后 WIN + R 运行 WSL 直接进 CentOS8
wsl -d centos8
C:\Users\jerry>wsl -l -vNAME STATE VERSIONCentOS7 Running 2
* CentOS8 Stopped 2Debian Stopped 2docker-desktop Stopped 2
操作完后碰到要我更新,又装了一下这个 适用于 x64 计算机的 WSL2 Linux 内核更新包
三、安装完成
1. 开启 systemctl
systemctl 默认没开启,配置一下,重启就可以了1
执行命令:
echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf
它的作用是将如下信息写入 /etc/wsl.conf
[boot]
systemd=true
注意:接下来要先用 wsl -t centos7 停掉 centos7,再启动 centos7 才生效:
# 查看一下版本信息
systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN
2. 修改默认主机名
注意:这里按原来 centos 修改主机名的方法是没用的。
登录进来可以看到,默认主机名用的就是宿主系统 Win11 的主机名。看着容易精神分裂,我还是改改:
还是改 /etc/wsl.conf 2,然后重启生效。
[boot]
systemd=true
[user]
default=jerry
[network]
hostname=centos7
generateHosts=true
重启后进来,主机名变了:
[jerry@centos7 ~]$
3. 修复命令行高亮丢失的问题
-
在
~/.bashrc末尾追加一句(网上找到),喜欢折腾的朋友可以自己研究3export PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "执行
source ~/.bashrc生效。

-
当然哪果你装了多个 Linux 子系统,也可以去别的版本找参考。(打开我的电脑,看左下角)

4. 设置阿里云的 CentOS 国内源
先备份
cp -rv /etc/yum.repos.d /etc/yum.repos.d_bak
再修改源
sudo sed -i.bak 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*.repo
sudo sed -i.bak 's|^#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*.repo
sed:这是一个文本处理工具,常用于在 Linux 和 Unix 系统中执行简单的文本模式替换。-i:这个选项告诉sed在原地修改文件,而不是将结果输出到标准输出(即终端)。
加上.bak表示修改前做备份。's|目标|结果|g':这是sed的替换命令语法。
s表示替换命令。
|作为分隔符,用于分隔命令的不同部分。
g:全局标志,表示在同一行中进行所有的替换,而不仅仅是第一次匹配。
将所有以mirrorlist替换为#mirrorlist,也就是在开头加#注释掉。
将所有包含#baseurl=http://mirror.centos.org的行修改为阿里云的 CentOS 镜像地址。/etc/yum.repos.d/CentOS-*.repo:此路径匹配/etc/yum.repos.d/目录下所有以CentOS-开头.repo结尾的文件。
更新走一波
yum update
装一下 vim
yum -y install vim
如果没搞定
参考:CentOS 7- 配置阿里镜像源 4
由于我之前已经装过,这里把 gpgkey 改成了本地的gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 能省点网速。
WSL 其他常用命令
以我们前面安装的 CentOS8 为例
-
wls -t CentOS8停止子系统运行 -
wsl -v查看 WSL 的版本信息C:\Users\jerry>wsl -v WSL 版本: 2.2.4.0 内核版本: 5.15.153.1-2 WSLg 版本: 1.0.61 MSRDC 版本: 1.2.5326 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.26091.1-240325-1447.ge-release Windows 版本: 10.0.22000.1936 -
如果 root 忘记密码可以直接
--user root以 root 身份登录,再passwd root改密码wsl -u root -d centos8
压缩动态扩展虚拟硬盘 (VHD) 文件的物理大小
compact vdisk
减小动态扩展虚拟硬盘 (VHD) 文件的物理大小。 此参数非常有用,因为动态扩展 VHD 的大小会随着文件的添加而增加,但不会随着文件的删除而自动减小。
- 先把子系统都停掉
wsl --shutdown - 打开 diskpart
diskpart - 执行
select vdisk file=D:\OS\CentOS7\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk
参考资料
适用于 Linux 的 Windows 子系统文档
导入要与 WSL 一起使用的任何 Linux 发行版
使用 systemd 通过 WSL 管理 Linux 服务 ↩︎
WSL 中的高级设置配置 ↩︎
Bash Shell PS1:10 个让 Linux 提示符变得非常实用和时尚的例子 ↩︎
CentOS 7- 配置阿里镜像源 ↩︎
相关文章:
Wni11 下 WSL 安装 CentOS
Wni11 下 WSL 安装 CentOS 方法一、安装包安装下载包安装安装打开 CentOS1. 从 Windows 终端 打开2. 从 PowerShell 打开 方法二、导入 CentOS 的 tar 文件进行安装0. 查看版本(可选)1. 导出 Docker 容器到 tar 文件2. 将 tar 文件导入 WSL2.1. 导入 tar…...
ROADM(可重构光分插复用器)-介绍
1. 引用 https://zhuanlan.zhihu.com/p/163369296 https://zhuanlan.zhihu.com/p/521352954 https://zhuanlan.zhihu.com/p/91103069 https://zhuanlan.zhihu.com/p/50610236 术语: 英文缩写描述灰光模块彩光模块CWDM:Coarse Wave-Length Division …...
HarmonyOS开发之路由跳转
文章目录 一、路由跳转模式与实例1.router.pushUrl2.router.replaceUrl3.router.back 一、路由跳转模式与实例 跳转模式 有点类似于vue的路由跳转 router.pushUrl 保留路由栈,保留当前的页面;router.replaceUrl 销毁当前页面,跳转一个新的页…...
怎么使用ai 免费生成ppt?这4个工具可以帮忙
随之AI工具的流行,网络上也涌现了一批 AIPPT 工具,可以在办公上帮助我们节省很多制作PPT的时间。通常它们的操作也比较简单,所以适合很多人使用。为了可以帮助大家提高办公效率,我在这里跟大家分享4款可以免费使用的AIPPT制作工具…...
Android主副屏显示-Android13
Android主副屏显示-Android13 1、DisplayDeviceInfo屏幕信息2、每个屏幕对应LogicalDisplay2.1 LogicalDisplay添加对应DisplayContent2.2 configureDisplayLocked刷新 DisplayManagerService启动及主屏添加-Android13 1、DisplayDeviceInfo屏幕信息 DisplayManagerService启动…...
什么是 SMB 服务器以及它如何工作?
在本文中,您将了解 SMB 服务器以及它们如何促进网络文件共享。 我们将介绍它们的基本功能、主要特性以及如何安全地设置它们。无论您是新手还是需要复习,本指南都将帮助您更好地了解 SMB 服务器。 什么是 SMB 服务器? SMB(服务器…...
【python计算机视觉编程——10.OpenCV】
python计算机视觉编程——10.OpenCV 10.OpenCV10.2 OpenCV基础知识10.2.1 读取和写入图像10.2.2 颜色空间10.2.3 显示图像及结果 10.3 处理视频10.3.1 视频输入10.3.2 将视频读取到NumPy数组中 10.4 跟踪10.4.1 光流10.4.2 Lucas-Kanade算法使用跟踪器使用发生器 10.5 更多示例…...
医学数据分析实训 项目二 数据预处理预备知识(数据标准化处理,数据离差标准化处理,数据二值化处理,独热编码处理,数据PCA降维处理)
文章目录 数据预处理预备知识任务一 数据标准化处理1. 数据准备2. 数据标准化 任务二 数据离差标准化处理任务三 数据二值化处理任务五 独热编码处理对数据进行“离散化处理”(装箱)将已经装箱的数据进行OneHotEncoder独热编码 任务六 数据PCA降维处理1.…...
MySQL查询执行(四):查一行也很慢
假设存在表t,这个表有两个字段id和c,并且我在里面插入了10万行记录。 -- 创建表t CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB;-- 通过存储过程向t写入10w行数据 delimiter ;; create procedure idat…...
【Obsidian】当笔记接入AI,Copilot插件推荐
当笔记接入AI,Copilot插件推荐 自己的知识库笔记如果增加AI功能会怎样?AI的回答完全基于你自己的知识库余料,是不是很有趣。在插件库中有Copilot插件这款插件,可以实现这个梦想。 一、什么是Copilot? 我们知道githu…...
Spring Cloud集成Gateaway
Spring Cloud Gateway 是一个基于 Spring 生态的网关框架,用于构建微服务架构中的API网关。它可以对请求进行路由、过滤、限流等操作,是Spring Cloud微服务体系中常用的组件之一。下面介绍 Spring Cloud Gateway 的核心概念、应用场景以及简单的示例。 …...
如何准备技术面试?
大家好,我是老三,好久没更新了,翻出之前的一篇旧稿,是一篇总纲性质的文章——如何准备一场技术面试。这篇文章原本的开头是写给金三银四的,转眼就“金九银十”了,每一年都是最差的一年,又是未来…...
Kafka原理剖析之「Topic创建」
一、前言 Kafka提供了高性能的读写,而这些读写操作均是操作在Topic上的,Topic的创建就尤为关键,其中涉及分区分配策略、状态流转等,而Topic的新建语句非常简单 bash kafka-topics.sh \ --bootstrap-server localhost:9092 \ // …...
Java 高级学习路线概要~
前言:恭喜你已经掌握了 Java 的基础知识!现在,让我们踏上 Java 高级学习之旅,探索更强大的编程技巧和技术。学习前记得不要忘了巩固和加强基础的学习哦,高级学习也是建立在基础的学习之上。 1. 集合框架进阶 Map 接口…...
浏览器插件快速开启/关闭IDM接管下载
假设你已经为浏览器安装了IDM扩展,那么按下图的点击顺序,可以快速开启或关闭IDM的下载接管,而不必在IDM软件的设置->选项中,临时作调整。...
初识c++:入门基础
打字不易,留个赞再走吧~~ 目录 一.第一个c程序二.命名空间 namespace三.C输⼊&输出四.缺省参数 C兼容C语⾔绝⼤多数的语法,所以C语⾔实现的hello world依旧可以运⾏,C中需要把定义⽂件 代码后缀改为.cpp 一.第一个c程序 做好准备我们来写…...
Java Exception 异常相关总结
1.简介 在Java中,当代码运行有问题时会抛出异常,主要分为两类: 1.可以通过try...catch来捕获解决的,不影响后续执行的RuntimeException。 2.不可以通过代码解决的Exception。 为了提高代码的健壮性,我们会选择去捕…...
HighCharts图表自动化简介
什么是分析数据? 在任何应用程序中捕获并以图形或图表形式显示的分析数据是任何产品或系统的关键部分,因为它提供了对实时数据的洞察。 验证此类分析数据非常重要,因为不准确的数据可能会在报告中产生问题,并可能影响应用程序/系统的其他相关领域。 什么是HighChart? …...
使用LDAP登录GitLab
使用LDAP登录GitLab gitlab.rb 配置如下 gitlab_rails[ldap_enabled] true #gitlab_rails[prevent_ldap_sign_in] false###! **remember to close this block with EOS below** gitlab_rails[ldap_servers] YAML.load <<-EOSmain:label: LDAPhost: 172.16.10.180port:…...
【2024】前端学习笔记5-表单标签使用
表单是网页提供的一种交互式操作手段,主要用于采集用户输入的信息。 学习笔记 1.表单框架:form标签1.1.action属性:目标指向1.2.method属性:提交方式1.3.id属性:唯一标识1.4.placeholder属性:提示文字2.input标签2.1.text类型:基本文本输入2.2.password类型:密码输入2.…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
