WSL 2 Oracle Linux 9.1 安装设置

打印 上一主题 下一主题

主题 968|帖子 968|积分 2906

环境

   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

  1. # 查看可安装的有效分发
  2. wsl -l -o
  3. wsl --list --online
复制代码
  1. # 2024.7 执行结果
  2. 以下是可安装的有效分发的列表。
  3. 使用 'wsl.exe --install <Distro>' 安装。
  4. NAME                                   FRIENDLY NAME
  5. Ubuntu                                 Ubuntu
  6. Debian                                 Debian GNU/Linux
  7. kali-linux                             Kali Linux Rolling
  8. Ubuntu-18.04                           Ubuntu 18.04 LTS
  9. Ubuntu-20.04                           Ubuntu 20.04 LTS
  10. Ubuntu-22.04                           Ubuntu 22.04 LTS
  11. Ubuntu-24.04                           Ubuntu 24.04 LTS
  12. OracleLinux_7_9                        Oracle Linux 7.9
  13. OracleLinux_8_7                        Oracle Linux 8.7
  14. OracleLinux_9_1                        Oracle Linux 9.1
  15. openSUSE-Leap-15.5                     openSUSE Leap 15.5
  16. SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
  17. SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
  18. openSUSE-Tumbleweed                    openSUSE Tumbleweed
复制代码
  1. # 安装 Oracle Linux 9.1
  2. wsl --install OracleLinux_9_1
复制代码
修改默认存储路径

防止 C 盘爆满
  1. wsl --shutdown
  2. wsl -l -v
  3. # 旧路径导出
  4. wsl --export OracleLinux_9_1 E:\OracleLinux_9_1.tar
  5. # 删除旧的
  6. wsl --unregister OracleLinux_9_1
  7. # 导入新路径
  8. # wsl --import <DistroName> <InstallLocation> <InstallTarFile>
  9. wsl --import OracleLinux_9_1 E:\WSL\OracleLinux_9_1 E:\OracleLinux_9_1.tar
  10. # E:\OracleLinux_9_1.tar 可删除
复制代码
默认 root 用户登录

  1. # 切换至 root
  2. sudo su
  3. # 重置 Root 密码
  4. passwd
  5. # WSL 默认 root 用户登录
  6. vim /etc/wsl.conf
  7. [user]
  8. default=root # 首次启动 WSL 会话时以哪个用户身份运行
复制代码
启用 systemd

默认无法使用 systemctl 下令
https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config#systemd-support
  1. vim /etc/wsl.conf
  2. [boot]
  3. systemd=true
  4. wsl --shutdown
  5. wsl
复制代码
启用 SSH 连接

  1. yum -y install openssh-server
  2. # 允许 root 用户 ssh 登录(非必须)
  3. vim /etc/ssh/sshd_config
  4. # 编辑内容如下
  5. Port=22 # 启用端口号22
  6. ListenAddress 0.0.0.0 # 监听所有地址
  7. PermitRootLogin yes # 是否允许 root 账户登录
  8. PasswordAuthentication yes # 是否支持账号密码形式的登录
  9. systemctl restart sshd
  10. systemctl status sshd
  11. systemctl enable sshd
复制代码
WSL 无法 ping 通宿主机和域名

宿主机管理员终端(powershell)执行
  1. # 移除旧的防火墙规则
  2. Remove-NetFirewallRule -DisplayName "WSL"
  3. # 新增防火墙规则,在 https://blog.csdn.net/u011526331/article/details/134782442 第五步查看网络连接名称,此处为 vEthernet (WSL (Hyper-V firewall))
  4. New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL (Hyper-V firewall))" -Action Allow
  5. # 重启
  6. wsl --shutdown
复制代码
WSL 使用主机代理(测试通过)

  1. # 开启代理
  2. # 从 resolv.conf 获取的 IP 不正确,为 10.255.255.254
  3. # hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
  4. # CatV 用户查看位置:设置 > 局域网连接右侧图标 > vEthernet (WSL (Hyper-V firewall)) > IP 地址
  5. hostip=172.23.128.1
  6. port=your port
  7. PROXY_HTTP="http://${hostip}:${port}"
  8. export http_proxy="${PROXY_HTTP}"
  9. export https_proxy="${PROXY_HTTP}"
  10. # 同时需要在宿主机添加防火墙规则
  11. 管理员 powershell
  12. Remove-NetFirewallRule -DisplayName "WSL"
  13. New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
复制代码
  1. # 关闭代理
  2. unset http_proxy
  3. unset https_proxy
  4. # 查看环境变量
  5. echo $http_proxy
  6. echo $https_proxy
复制代码
WSL 常用下令

  1. # 运行指定发行版
  2. wsl --distribution <distribution>
  3. # 停止某个分发版
  4. wsl -t <distribution>
  5. # 立即终止所有正在运行的分发和 WSL 2 轻型工具虚拟机
  6. wsl --shutdown
  7. # 显示有关所有分发的详细信息
  8. wsl -l -v
  9. # 卸载指定分发版
  10. wsl --unregister <distribution>
  11. wsl --status
  12. # 检查更新
  13. wsl --update
复制代码
统统正常的设置
  1. [root@LAPTOP-JPRG2D01 username]# cat /etc/resolv.conf
  2. # [network]
  3. # generateResolvConf = false
  4. nameserver 10.255.255.254
  5. [root@LAPTOP-JPRG2D01 username]# cat /etc/wsl.conf
  6. [boot]
  7. systemd=true
  8. [network]
  9. # 是否将 WSL 设置为生成 /etc/resolv.conf。 resolv.conf 包含能够将给定主机名解析为其 IP 地址的 DNS 列表。
  10. generateResolvConf = false
  11. [user]
  12. default=root
复制代码
/etc/wsl.conf 和 %UserProfile%/.wslconfig 区别


  • wsl.conf 用于为在 WSL 1 或 WSL 2 上运行的每个 Linux 发行版按各个发行版设置本地设置,位于从机
  • .wslconfig 用于在 WSL 2 上运行的所有已安装发行版中设置全局设置,位于主机

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表