Linux 命令速查
云原生 man distrobox

distrobox

在任何 Linux 上使用其他发行版容器

返回

补充说明

distrobox(Distribution Box)是一个开源命令行工具,用于在任意 Linux 发行版上创建和使用其他发行版容器,并在容器与宿主之间实现无缝集成。它基于 Podman 或 Docker 创建容器,再通过额外的配置让容器内程序像宿主原生程序一样工作:用户目录 $HOME 被映射进容器,可访问宿主的外设(GPU、音频、USB 等),还能读写宿主文件系统。

distrobox 典型用途:在“不折腾系统”的前提下使用另一发行版的软件(例如在 Fedora 上用 Ubuntu 的包,或在不可变系统如 Fedora Silverblue、SteamOS 上安装任意软件),以及隔离实验环境而不用虚拟机。它与类似工具(如 toolbox)相比更强调“无缝集成”,指令通用(支持 Debian 系、RHEL 系、Arch 等主流发行版镜像),且不要求 root 权限(rootless 运行)。

常用概念:distrobox-create 创建容器(可指定镜像);distrobox-enter 进入容器执行命令;distrobox-export 把容器内应用暴露到宿主(在宿主菜单/命令行直接启动)。容器内安装的工具会出现在宿主的 PATH 中,可直接调用,行为与宿主程序几乎无差别。

语法

distrobox-create [选项] --name 容器名   # 创建容器
distrobox-enter [选项] 容器名 [命令]    # 进入容器(不带命令则进入交互 shell)
distrobox-export [选项] --app 应用名    # 把容器内应用导出到宿主
distrobox-list                          # 列出已有容器
distrobox-stop 容器名                   # 停止容器
distrobox-rm 容器名                     # 删除容器

实例

# 基于 Ubuntu 镜像创建一个名为 myubuntu 的容器
distrobox-create --name myubuntu --image ubuntu:24.04

# 进入容器并安装软件(容器内使用该发行版的包管理器)
distrobox-enter myubuntu
sudo apt update && sudo apt install neofetch

# 从宿直接运行容器内命令
distrobox-enter myubuntu -- neofetch

# 导出容器内应用,使其像宿主程序一样通过桌面菜单启动
distrobox-export --app firefox

日常工作流示例:

distrobox-create --name archbox --image archlinux:latest
distrobox-enter archbox        # 进入交互 shell
distrobox-stop archbox
distrobox-rm archbox