AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 732431
Accepted
Pavel Shishpor
Pavel Shishpor
Asked: 2023-01-21 01:17:27 +0800 CST2023-01-21 01:17:27 +0800 CST 2023-01-21 01:17:27 +0800 CST

Windows Subsystem for Linux (WSL) 中的系统分布是什么?

  • 772

wsl.exe帮助(显示为wsl.exe --help)谈论“系统分布”:

Options:
...
    --system
        Launches a shell for the system distribution.

它是什么?在 WSL 文档中搜索“系统分发”时,我在How to manage WSL disk space部分只得到以下结果:

有关块设备的信息包括: 名称:分配给设备的名称将是sd[a-z],指的是 SCSI 磁盘,并为每个正在使用的磁盘指定一个字母。sda总是系统分布。

windows-subsystem-for-linux
  • 2 2 个回答
  • 388 Views

2 个回答

  • Voted
  1. Panki
    2023-01-21T03:06:59+08:002023-01-21T03:06:59+08:00

    启动此 shell 后,检查/etc/os-release以获取有关已安装发行版的更多信息。

    在我的 WSL 中,这似乎是Common Base Linux Mariner,并在此处记录:https ://aka.ms/cbl-mariner

    CBL-Mariner 是 Microsoft 的云基础设施和边缘产品和服务的内部 Linux 发行版。CBL-Mariner 旨在为这些设备和服务提供一致的平台,并将增强 Microsoft 在 Linux 更新上保持最新的能力。[...]

    • 3
  2. Best Answer
    NotTheDr01ds
    2023-01-21T03:43:53+08:002023-01-21T03:43:53+08:00

    WSL 中的(或“a”,取决于上下文)“系统分布”的命名有点奇怪,但可能意味着与“用户分布”相反。这也有点难以解释。大约 2 年前的原始WSLg Architecture devblog 帖子中有一个概述。

    对于大多数用户来说,除了好奇之外,真的没有必要了解或使用系统发行版。但是,它可以用于:

    • 在 WSL 中调试 WSLg/GUI 问题
    • 如果需要,修改或替换 WSLg 功能。
    • 了解--systemWSL 帮助中那个奇怪的论点是什么;-)

    首先,一些额外的“术语”。要理解什么是“系统分布”,我们首先需要真正理解什么是WSL中的“分布”。简短摘要 - 分发是在 WSL2 VM内运行的名称空间隔离环境(容器)。有关详细信息,请参阅此答案。

    实际上有多个系统分布:

    • WSL 本身提供的模板、根文件系统(基于CBL Mariner,如@Panki 的回答中所述)。这个根文件系统然后被用来创建...

    • 每个其他正在运行的用户发行版(例如 Ubuntu、Alpine、Kali、Arch 等)的系统发行版(命名空间容器)。该系统分布是 Wayland(带有 RDP/RAILS)、Xwayland、Weston 和 PulseAudio 运行的地方。然后,这些服务的套接字在启动时被挂载、绑定挂载和/或符号链接(技术随着时间的推移而改变)到用户分发版中。此系统分发版与同级用户分发版具有相同的生命周期。

    默认 WSL 安装使用 Ubuntu(当前为 20.04)作为发行版。在这种情况下,当您启动 WSL/Ubuntu 时,会启动相应的系统分发,启动服务,并创建从系统分发返回 Ubuntu 的符号链接/挂载。该架构对于在 WSL 下运行的所有 Linux 发行版都是通用的。然而,某些发行版(我在看你,GNU Guix ;-))可能会偏离“规范”太远并且需要额外的工作才能使用 WSLg 运行 GUI 应用程序。

    主要坐骑是/mnt/wslg(正如你提到的,应该是/dev/sda——我以前从未真正注意到过)。X11 套接字所在的/tmp/.X11目录(现在)是只读的,绑定挂载回/mnt/wslg/.X11-unix.

    为 Wayland 和 PulseAudio 创建了类似的绑定安装或符号链接,尽管我还没有完全探索架构的所有角落和缝隙。

    因此,当您启动 WSL 时,您可以单独启动:

    wsl --system
    

    你会看到你的默认用户在wslg那里。但是,您也可以访问它wsl --system -u root。

    您也可以从开始,wsl --system您会发现(使用wsl -l -v)您的默认分发也已启动。

    因为“按分发”系统分发是在每次 WSL 分发启动时“按需”创建的,所以它是短暂的。当用户分发停止时,您在wsl --system(或wsl --system -d <user_distro_name>)中所做的任何更改都将丢失。

    要使更改永久生效,您可以使用 Github 上的 WSLg 存储库构建您自己的系统发行版,并将 WSLg 使用的存储库替换为一个.wslconfig文件。老实说,自从 WSLg 可用以来的近两年时间里,我不知道 Microsoft 以外的任何人发现有必要这样做,但这无疑是一项有趣的功能。至少,它允许您升级(甚至回滚)像 Weston 这样的组件,而不必等待 Microsoft 进行更改。

    • 3

相关问题

  • SSH linux子系统windows 10

  • Bash For循环不起作用

  • SSH进入同一网络上的两台不同机器[关闭]

  • 在 Bash 中绑定 ALT-F4 以退出的方法(Windows 上的 Ubuntu 上的 Bash)

  • 适用于 Linux 的 Windows 子系统上的 OpenZFS

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve