WSL 2 Oracle Linux 9.1 安装配置
文章目录
- 环境
- 使用体验
- 安装 Oracle Linux 9.1
- 修改默认存储路径
- 默认 root 用户登录
- 启用 systemd
- 启用 SSH 连接
- WSL 无法 ping 通宿主机和域名
- WSL 使用主机代理(测试通过)
- WSL 常用命令
环境
OS:Win11 24H2 (OS 内部版本26120.1252)
wsl --version 执行结果
WSL 版本: 2.3.11.0
内核版本: 6.6.36.3-1
WSLg 版本: 1.0.63
MSRDC 版本: 1.2.5326
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows 版本: 10.0.26120.1252
使用体验
首次使用还是有一些坑的,特此记录
Windows Subsystem for Linux 比 VMware 虚拟机
- 更轻量
- 启动速度快
- 资源占用低
安装 Oracle Linux 9.1
# 查看可安装的有效分发
wsl -l -o
或
wsl --list --online
# 2024.7 执行结果
以下是可安装的有效分发的列表。
使用 '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
Ubuntu-24.04 Ubuntu 24.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
# 安装 Oracle Linux 9.1
wsl --install OracleLinux_9_1
修改默认存储路径
防止 C 盘爆满
wsl --shutdown
wsl -l -v# 旧路径导出
wsl --export OracleLinux_9_1 E:\OracleLinux_9_1.tar# 删除旧的
wsl --unregister OracleLinux_9_1# 导入新路径
# wsl --import <DistroName> <InstallLocation> <InstallTarFile>
wsl --import OracleLinux_9_1 E:\WSL\OracleLinux_9_1 E:\OracleLinux_9_1.tar# E:\OracleLinux_9_1.tar 可删除
默认 root 用户登录
# 切换至 root
sudo su
# 重置 Root 密码
passwd# WSL 默认 root 用户登录
vim /etc/wsl.conf
[user]
default=root # 首次启动 WSL 会话时以哪个用户身份运行
启用 systemd
默认无法使用 systemctl 命令
https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config#systemd-support
vim /etc/wsl.conf[boot]
systemd=truewsl --shutdown
wsl
启用 SSH 连接
yum -y install openssh-server# 允许 root 用户 ssh 登录(非必须)
vim /etc/ssh/sshd_config# 编辑内容如下
Port=22 # 启用端口号22
ListenAddress 0.0.0.0 # 监听所有地址
PermitRootLogin yes # 是否允许 root 账户登录
PasswordAuthentication yes # 是否支持账号密码形式的登录systemctl restart sshd
systemctl status sshd
systemctl enable sshd
WSL 无法 ping 通宿主机和域名
宿主机管理员终端(powershell)执行
# 移除旧的防火墙规则
Remove-NetFirewallRule -DisplayName "WSL"
# 新增防火墙规则,在 https://blog.csdn.net/u011526331/article/details/134782442 第五步查看网络连接名称,此处为 vEthernet (WSL (Hyper-V firewall))
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL (Hyper-V firewall))" -Action Allow
# 重启
wsl --shutdown
WSL 使用主机代理(测试通过)
# 开启代理# 从 resolv.conf 获取的 IP 不正确,为 10.255.255.254
# hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
# CatV 用户查看位置:设置 > 局域网连接右侧图标 > vEthernet (WSL (Hyper-V firewall)) > IP 地址
hostip=172.23.128.1
port=your port
PROXY_HTTP="http://${hostip}:${port}"
export http_proxy="${PROXY_HTTP}"
export https_proxy="${PROXY_HTTP}"# 同时需要在宿主机添加防火墙规则
管理员 powershell
Remove-NetFirewallRule -DisplayName "WSL"
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
# 关闭代理
unset http_proxy
unset https_proxy# 查看环境变量
echo $http_proxy
echo $https_proxy
WSL 常用命令
# 运行指定发行版
wsl --distribution <distribution>
# 停止某个分发版
wsl -t <distribution>
# 立即终止所有正在运行的分发和 WSL 2 轻型工具虚拟机
wsl --shutdown
# 显示有关所有分发的详细信息
wsl -l -v
# 卸载指定分发版
wsl --unregister <distribution>
wsl --status
# 检查更新
wsl --update
一切正常的配置
[root@LAPTOP-JPRG2D01 username]# cat /etc/resolv.conf
# [network]
# generateResolvConf = false
nameserver 10.255.255.254[root@LAPTOP-JPRG2D01 username]# cat /etc/wsl.conf
[boot]
systemd=true
[network]
# 是否将 WSL 设置为生成 /etc/resolv.conf。 resolv.conf 包含能够将给定主机名解析为其 IP 地址的 DNS 列表。
generateResolvConf = false
[user]
default=root
/etc/wsl.conf 和 %UserProfile%/.wslconfig 区别
-
wsl.conf 用于为在 WSL 1 或 WSL 2 上运行的每个 Linux 发行版按各个发行版配置本地设置,位于从机
-
.wslconfig 用于在 WSL 2 上运行的所有已安装发行版中配置全局设置,位于主机
相关文章:
WSL 2 Oracle Linux 9.1 安装配置
文章目录 环境使用体验安装 Oracle Linux 9.1修改默认存储路径默认 root 用户登录启用 systemd启用 SSH 连接WSL 无法 ping 通宿主机和域名WSL 使用主机代理(测试通过)WSL 常用命令 环境 OS:Win11 24H2 (OS 内部版本26120.1252) wsl --versio…...
MySQL日志文件详解
MySQL中的日志文件是MySQL数据库系统的重要组成部分,它们记录了数据库的运行情况、用户操作、错误信息等,对于数据库的维护、优化、故障排查和恢复都具有重要意义。以下是MySQL中几种主要日志文件的详解: 1. 二进制日志(Binary L…...
MySQL零散拾遗(三)
在mysql中,JOIN ON 和 WHERE 的作用和用法是怎么样的? 在MySQL中,JOIN语句用于将两个或多个表根据指定的关联条件合并成一个新的结果集。JOIN ON和WHERE子句在JOIN语句中扮演着不同的角色,它们的用法和作用如下: JOI…...
鸿蒙 使用 Refresh 实现下拉刷新
import promptAction from ohos.promptActionEntry Component struct Index {Staterefreshing: boolean falseStatelist: number[] Array(20).fill(Date.now())Buildercontent(){Stack(){Row(){LoadingProgress().height(32)Text(正在刷新...).fontSize(16).margin({left:20}…...
【JavaScript 算法】图的遍历:理解图的结构
🔥 个人主页:空白诗 文章目录 一、深度优先搜索(DFS)深度优先搜索的步骤深度优先搜索的JavaScript实现 二、广度优先搜索(BFS)广度优先搜索的步骤 三、应用场景四、总结 图的遍历是图论中的基本操作之一&am…...
Ubuntu 中默认的 root 用户密码
场景:想要切换root用户,发现得输入密码,以为是以前设置过然后一直尝试都是错误【认证失败】最后发现根本没设置过root用户,默认会随机生成root用户的密码😅 Ubuntu 中默认的 root 密码是随机的,即每次开机都…...
Rust编程-高级特性
unsafe:内存不安全 内存安全问题,例如空指针解引用 关键字unsafe来切换到不安全模式,并在被标记后的代码块中使用不安全代码 使用unsafe告诉编译器后面代码安全性自行负责 因为电脑硬件安全问题,必须编写可能不安全的代码 可以将…...
JavaRegexImprove练习(1) (2024.7.22)
ImproveExercise1 package RegexImprove20240722; import java.util.Scanner; public class ImproveExercise {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println("请输入一个字符串");String str sc.nextLine();//…...
基于YOLO模型的鸟类识别系统
鸟类识别在生物研究和保护中具有重要意义。本文将详细介绍如何使用YOLO(You Only Look Once)模型构建一个鸟类识别系统,包括UI界面、YOLOv8/v7/v6/v5代码以及训练数据集。 目录 2. 环境配置 2.1 安装Python和相关库 2.2 安装YOLO模型库 …...
WebRTC通话原理(SDP、STUN、 TURN、 信令服务器)
文章目录 1.媒体协商SDP简介 2.网络协商STUN的工作原理TURN工作原理 3.信令服务器信令服务器的主要功能信令服务器的实现方式 1.媒体协商 比如下面这个例子 A端与B端要想通信 A端视频采用VP8做解码,然后发送给B端,B端怎么解码? B端视频采用…...
面试场景题系列--(1)如果系统的 QPS 突然提升 10 倍该怎么设计?--xunznux
1. 如果系统的 QPS 突然提升 10 倍该怎么设计? 1.1 硬件的扩展微服务的拆分 如果所有的业务包括交易系统、会员信息、库存、商品等等都夹杂在一起,当流量一旦起来之后,单体架构的问题就暴露出来了,机器挂了所有的业务就全部无法…...
【数学建模】——前沿图与网络模型:新时代算法解析与应用
目录 1.图与网络的基本概念 1. 无向图和有向图 2. 简单图、完全图、赋权图 3. 顶点的度 4. 子图与图的连通性 2.图的矩阵表示 1. 关联矩阵 2. 邻接矩阵 3.最短路问题 1.Dijkstra 算法 2.Floyd 算法 4.最小生成树问题 1.Kruskal 算法 2.Prim 算法 5.着色问题 6.…...
视频分帧【截取图片】(YOLO目标检测【生成数据集】)
高效率制作数据集【按这个流程走,速度很顶】 本次制作,1059张图片【马路上流动车辆】 几乎就是全自动了,只要视频拍得好,YOLO辅助制作数据集就效率极高 视频中的图片抽取: 【由于视频内存过大,遇到报错执行…...
Redis7(二)Redis持久化双雄
持久化之RDB RDB的持久化方式是在指定时间间隔,执行数据集的时间点快照。也就是在指定的时间间隔将内存中的数据集快照写入磁盘,也就是Snapshot内存快照,它恢复时再将硬盘快照文件直接读回到内存里面。 RDB保存的是dump.rdb文件。 自动触发…...
发布支持TS的npm包
你现在有这么一个包,已经将他发布在npm上了,周下载量也还比较可观。美中不足的就是,这个包之前使用js写的,现在你想增加TS类型,提升用户使用体验,那么你现在可以做以下几个步骤 1.在你的包的根目录下创建一…...
计算机视觉9 全卷积网络
全卷积网络(Fully Convolutional Network,简称 FCN)在计算机视觉领域具有重要地位。 传统的卷积神经网络(CNN)在最后的输出层通常使用全连接层来进行分类任务。然而,全连接层会丢失空间信息,使得…...
02.C++入门基础(下)
1.函数重载 C支持在同一作用域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C函数调用就表现出了多态行为,使用更灵活。C语言是不支持同一作用域中出现同名函数的。 1、参数类型不同 2、参数个数不同…...
【数据结构】探索排序的奥秘
若有不懂地方,可查阅我之前文章哦! 个人主页:小八哥向前冲~_csdn博客 所属专栏:数据结构_专栏 目录 排序的概念 几种排序方法介绍 冒泡排序 选择排序 插入排序 堆排序 向上调整建堆排序 向下调整建堆排序 希尔排序 快速…...
数据结构面试知识点总结3
#来自ウルトラマンティガ(迪迦) 1 线性表 最基本、最简单、最常用的一种数据结构。一个线性表是 n 个具有相同特性的数据元素的有限序列。 特征:数据元素之间是一对一的逻辑关系。 第一个数据元素没有前驱,称为头结点࿱…...
python-爬虫实例(5):将进酒,杯莫停!
目录 前言 将进酒,杯莫停! 一、浇给 二、前摇 1.导入selenium库 2.下载浏览器驱动 三、爬虫四步走 1.UA伪装 2.获取url 3.发送请求 4.获取响应数据进行解析并保存 总结 前言 博主身为一个农批,当然要尝试爬取王者荣耀的东西啦。 将进…...
OpenClaw + Claude Code 插件:多 Agent 协作开发,到底解决了什么,没解决什么?
先说结论多 Agent Council 适合复杂项目,但简单任务直接用 CLI 更高效。混合引擎能发挥不同模型优势,但协调成本和 API 费用不容忽视。持久会话和工具 API 提升了开发体验,但需注意 API Key 计费而非订阅额度。从实际选型角度,拆解…...
保险科技前端开源方案Insura:动态表单与保费试算核心实现
1. 项目概述:一个面向保险行业的开源前端解决方案最近在梳理一些开源项目时,发现了一个挺有意思的仓库:Rashed-ux920/insura。从名字上拆解,“insura”显然是“Insurance”(保险)的缩写,而作者“…...
从mekong-cli看现代CLI工具的设计哲学与工程实践
1. 项目概述:一个命令行工具能做什么?在开发者的日常工作中,命令行界面(CLI)是我们与计算机系统交互最直接、最高效的桥梁。无论是自动化部署、批量处理文件,还是与远程API进行交互,一个设计精良…...
基于LLaMA-2的中文大模型实战:从增量预训练到部署应用
1. 项目概述:当大语言模型说起了中文如果你在2023年关注过开源大语言模型(LLM)的进展,那么“Chinese-LLaMA-Alpaca”这个名字你一定不陌生。它几乎是当时中文社区里,让Meta开源的LLaMA模型“学会”流利中文对话的代名词…...
IDEA进阶指南:巧用Changelist实现多任务并行开发
1. 为什么你需要Changelist功能 作为一个长期使用IDEA进行开发的程序员,我深刻理解多任务并行开发时的痛苦。想象一下这样的场景:你正在开发一个新功能,突然产品经理跑过来说有个紧急bug需要立即修复。这时候你会怎么做?传统做法可…...
企者不立,跨者不行,在 SAP ABAP 开发里修一颗不踮脚、不跨步、不自矜的工程心
老子这句话放进 SAP ABAP 开发现场里,不是要我们把工程做得玄乎,也不是劝开发者不要进取。它讲的是一种很朴素的稳定性智慧,凡是靠踮脚维持的高度,站不久,凡是靠大跨步抢出来的进度,走不远,凡是只相信自己眼前判断的技术方案,容易看不清系统全貌,凡是过度相信自己经验…...
创业公司利用Taotoken多模型能力进行A/B测试以优化产品效果
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业公司利用Taotoken多模型能力进行A/B测试以优化产品效果 对于AI产品创业团队而言,选择合适的大模型是产品成功的关键…...
本地化AI代码助手Refly:从部署到调优的完整实践指南
1. 项目概述:一个面向开发者的AI代码生成与重构工具如果你是一名开发者,无论是前端、后端还是全栈,大概率都经历过这样的场景:面对一个复杂的业务逻辑,或者一段需要重构的祖传代码,你坐在电脑前,…...
Gemini3.1Pro如何实现视觉平移不变性
“视觉 Transformer 的平移不变性(translation invariance)是否能在 Gemini 3.1 Pro 中实现?”这个问题的难点在于:平移不变性是视觉模型的归纳偏置,而 Gemini 3.1 Pro 是多模态大模型(LLM视觉/多模态能力&…...
【大白话说Java面试题 第43题】【JVM篇】第3题:GC分为哪两种?Young GC 和 Full GC有什么区别?
📌 PDF:大白话说Java面试题 — 02-JVM篇 第3题:GC分为哪两种?Young GC 和 Full GC有什么区别 📚 回答: 核心概念: JVM 的垃圾回收(GC)主要分为两种类型:You…...
