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 虚拟机

  1. 更轻量
  2. 启动速度快
  3. 资源占用低

安装 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
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 上运行的所有已安装发行版中配置全局设置,位于主机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/49134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

闭着眼就能学会的装饰器

目录 一&#xff0c;闭包 1&#xff0c;闭包函数含义以及三要素 2&#xff0c;定义一个简单的闭包 二&#xff0c;装饰器 1&#xff0c;装饰器的作用场景以及特点 2&#xff0c;定义一个简单的装饰器 1&#xff0c;需求1 2&#xff0c;需求2 三&#xff0c;装饰器的实…

初学51单片机之指针基础与串口通信应用

开始之前推荐一个电路学习软件&#xff0c;这个软件笔者也刚接触。名字是Circuit有在线版本和不在线版本&#xff0c;这是笔者在B站看视频翻到的。 Paul Falstadhttps://www.falstad.com/这是地址。 离线版本在网站内点这个进去 根据你的系统下载你需要的版本红线的是windows…

华盈生物-“表面等离子共振(SPR)技术如何进行靶点验证:揭秘靶点锁定的科学魔法”

在药物开发和生物研究中&#xff0c;靶点验证是一个至关重要的步骤。表面等离子共振&#xff08;SPR&#xff09;技术以其高灵敏度和实时监测能力&#xff0c;成为了靶点验证的理想工具。今天&#xff0c;我们将揭示SPR技术在靶点验证中的神奇应用&#xff0c;让我们一起看看它…

第九讲:POU与变量基础

POU(Program Organization Unit)的分类 一、定义及分类 POU即程序组成单元 二、三种POU的作用 1、功能/功能快:看作算法 功能块的POU是比较复杂的指令 三、功能块POU和功能POU的区别 1、理解功能POU(对比) 不添加实例名,就不需要去建立变量,所以就不会占到内存。 因…

算法题目整合4

文章目录 122. 大数减法123. 滑动窗口最大值117. 软件构建124. 小红的数组构造125. 精华帖子126. 连续子数组最大和 122. 大数减法 题目描述 以字符串的形式读入两个数字&#xff0c;编写一个函数计算它们的差&#xff0c;以字符串形式返回。输入描述 输入两个数字&#xff…

物联网专业创新人才培养体系的探索与实践

一、引言 随着物联网&#xff08;IoT&#xff09;技术的迅猛发展&#xff0c;物联网领域的人才需求日益增加。物联网技术作为新一轮信息技术革命的核心&#xff0c;已经渗透到社会生活的各个领域&#xff0c;对推动经济转型升级、提升国家竞争力具有重要意义。因此&#xff0c…

VUE之---slot插槽

什么是插槽 slot 【插槽】&#xff0c; 是 Vue 的内容分发机制&#xff0c; 组件内部的模板引擎使用slot 元素作为承载分发内容的出口。slot 是子组件的一个模板标签元素&#xff0c; 而这一个标签元素是否显示&#xff0c; 以及怎么显示是由父组件决定的。 VUE中slot【插槽】…

Postman的高级功能

Postman是一款功能强大的API测试工具&#xff0c;它提供了许多高级功能来帮助开发者和测试人员更高效地进行API测试和开发。以下是Postman在API测试中的一些高级功能&#xff1a; 1. 集合和文件夹 集合&#xff1a;用于组织相关的API请求。文件夹&#xff1a;在集合内部进一步…

Huffman编码和译码

Huffman编码(Huffman Coding),又称霍夫曼编码或赫夫曼编码,是一种用于无损数据压缩的熵编码(权编码)算法,由大卫霍夫曼(David A. Huffman)在1952年发明。Huffman编码属于可变字长编码(VLC)的一种,其基本思想是根据字符在数据中出现的频率来分配不同长度的编码,出现…

自己开发软件实现网站抓取m3u8链接

几天前一个同学说想下载一个网站的视频找不到连接&#xff0c;问我有没有什么办法,网站抓取m3u8链接 网页抓取m3u8链接。当时一听觉得应该简单&#xff0c;于是说我抽空看看。然后就分析目标网页&#xff0c;试图从网页源码里找出连接&#xff0c;有的源代码直接有,但是有的没有…

(二)C++之类与对象

一.类的申明 class 类名 { private: 私有的数据和成员函数; public: 公用的数据和成员函数; protected: 保护的数据和成员函数 };二.类的成员函数 构造函数&#xff08;类的初始化&#xff0c;创建类时自动调用&#xff1b;初始化表,this指针&#xff09; 默认构造函数 A();…

语法糖的setup和onMounted

遇到的问题&#xff1a;利用:style绑定响应式变量并结合css来动态更换颜色&#xff0c;绑定的响应式变量无法正常渲染 结论&#xff1a;本人将:style绑定响应式变量的值写在onMounted里面了&#xff0c;一个大失误&#xff0c;记录一下&#xff0c;利用setup语法糖默认初始化阶…

Redisson常用的数据结构及应用场景

Redisson 提供了一系列高级数据结构&#xff0c;这些数据结构封装了 Redis 的原生数据类型&#xff0c;提供了 Java API 的便利性和分布式特性。以下是 Redisson 中一些常用的数据结构&#xff0c;场景还在不断完善中&#xff1a; RBucket&#xff1a;这是一个简单的键值对存储…

Java二十三种设计模式-代理模式模式(8/23)

代理模式&#xff1a;为对象访问提供灵活的控制 引言 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它为其他对象提供一个代替或占位符&#xff0c;以控制对它的访问。 基础知识&#xff0c;java设计模式总体来说设计模式分为三大类&#…

Carefree为高性能设计仿真及人工智能提供一站式解决方案

在当今数字化转型的浪潮中&#xff0c;程易科技作为行业领先的科技创新企业&#xff0c;致力于为客户提供高效、安全、智能的研发资源服务。我们的研发资源服务平台集成了四大核心组件——研发资源统一门户、HPC高性能计算平台、远程可视化前后处理平台以及AI人工智能及算法平台…

Qt 实战(7)元对象系统 | 7.6、Q_DECLARE_METATYPE详解

文章目录 一、Q_DECLARE_METATYPE详解1、基本概念2、使用场景3、使用方法4、示例&#xff1a;QVariant使用自定义类型5、总结 前言&#xff1a; 在Qt框架的C开发中&#xff0c;Q_DECLARE_METATYPE是一个重要且常用的宏&#xff0c;它扮演着连接自定义类型与Qt元对象系统&#x…

Varjo XR-4系列现已获得达索3DEXPERIENCE平台官方支持

近日&#xff0c;全球领先的工业虚拟和混合现实解决方案提供商Varjo宣布&#xff0c;Varjo XR-4系列现已获得达索3DEXPERIENCE平台的本地支持。这种集成为工程师和设计师带来了先进的虚拟和混合现实功能&#xff0c;他们可以通过沉浸式技术创新并简化他们的3D工作流程。 在达索…

【iOS】Tagged Pointer

目录 前言什么是Tagged Pointer&#xff1f;引入Tagged Pointer技术之前引入Tagged Pointer之后总结 Tagged Pointer原理&#xff08;TagData分析&#xff09;关闭数据混淆MacOS分析NSNumberNSString iOS分析 判断Tagged PointerTagged Pointer应用Tagged Pointer 注意点 Tagge…

堆的相关知识点

目录 大小堆 堆的实现 堆的创建 堆的销毁 交换 向上调整 向下调整 弹出首个元素 取出首个元素 判空 堆插入 大小堆 大堆&#xff1a;最上面的数字是最小的&#xff0c;越往下越大 小堆&#xff1a;最上面的数字是最大的&#xff0c;越往下越小 堆的复杂程度&#…

关于JMETER 压力测试工具安装 插入百万数据

‌jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简 单。因为 jmeter 是 java 开发的&#xff0c;所以运行的时候必须先要安装 jdk 才可…