论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
运维.售后
›
运维.售后
›
Wni11 下 WSL 安装 CentOS
Wni11 下 WSL 安装 CentOS
道家人
金牌会员
|
昨天 00:17
|
显示全部楼层
|
阅读模式
楼主
主题
795
|
帖子
795
|
积分
2385
方法一、安装包安装
下载包安装
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 -v
NAME STATE VERSION
* docker-desktop Running 2
CentOS8.4.2105 Stopped 2
CentOS7 Stopped 2
Debian 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 -v
NAME STATE VERSION
* docker-desktop Stopped 2
CentOS8 Stopped 2
CentOS7 Stopped 2
Debian 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 -v
NAME STATE VERSION
CentOS7 Running 2
* CentOS8 Stopped 2
Debian Stopped 2
docker-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=centos7generateHosts=true
复制代码
重启后进来,主机名变了:
[jerry@centos7 ~]$
复制代码
3. 修复命令行高亮丢失的题目
在 ~/.bashrc 末尾追加一句(网上找到),喜欢折腾的朋侪可以自己研究3
export 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 为例
wsl -l 查看装了哪些子体系
适用于 Linux 的 Windows 子系统分发:
CentOS8 (默认)
Debian
docker-desktop
Ubuntu
CentOS7
复制代码
wsl -d CentOS8 运行指定的子体系(这里就是 CentOS8)
wls -t CentOS8 停止子体系运行
wls --shutdown 立刻终止所有正在运行的分发版和 WSL 2
wls -s CentOS8 设置 CentOS8 为默认体系,直接执行 wsl 不带参数,就是进默认的
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 身份登录(简写 -u 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- 配置阿里镜像源 ↩︎
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
道家人
金牌会员
这个人很懒什么都没写!
楼主热帖
〖Python接口自动化测试实战篇⑨〗- 实 ...
Redis和Mysql保持数据一致性
CentOS7.9使用sealos部署单节点k8s并部 ...
LyScript 从文本中读写ShellCode
Go面经 | 成都Go面试这么卷?卷王介绍 ...
论文解读丨CIKM'22 MARINA:An MLP ...
青龙2.10.13 稳定版+Ninja登录面板+傻 ...
网安工具 | Windows便携式渗透测试环境 ...
软件危机与软件过程模型
SpringBoot 项目使用 Sa-Token 完成登 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表