前言
DistroBox
是一个简化在容器中运行不同版本 Linux 的工具。
对于经常需要使用多个不同的发行版Linux
的人来说,它是一个很棒的工具之一,可以为你节省大量的时间和精力。
近期,开发者Luca di Maio
发布了DistroBox 1.3.0
版,并称其是一个相当大的版本
(因为它是一个相对较新的工具——版本1.0.0仅在 12 月初发布)
Distrobox 用途
该工具旨在简化Linux
系统容器的创建和使用,使在一个发行版之上运行另一个发行版变得更加容易,并无需增加虚拟机的开销。
Vagrant
如果你更习惯于使用虚拟机,那么 Vagrant
是一个方便的工具,可以帮你自动消除使用VM
的一些繁琐的软件配置管理(SCM)。它主要是对管理程序和SCM
工具(主要是 Puppet 和 Chef)的包装。使用一个命令,Vagrant
将帮你创建一个新的VM
,在其中安装你选择的操作系统并进行配置,然后使用另一个命令,你就可以与新的VM
建立SSH
连接。
Distrobox 的不同
Distrobox
做了类似Vagrant
的事情。因为它使用了容器,所以它更小,更简单,更轻量。但是按照操作系统级虚拟化的定义,它只能支持在linux
主机上运行Linux
环境。
Distrobox 的作用
即便你不使用这些东西。你无疑也清楚存在很多的Linux
发行版,其中许多之间都是彼此截然不同的。如果你要开发或者管理在Linux
上运行的软件。则必须要考虑这些差异,这意味着需要大量的测试机器来切换发行版。
Distrobox
旨在简化这一点,并消除一些痛苦。它是两个最常见的Linux
容器运行环境Docker
和Podman
的包装器。
Distrobox 的使用
它提供了创建、进入、离开和删除Linux
容器的命令,也就是说,他是一个除了内核之外(在现有内核的容器内运行)的完整操作系统。每个容器都有自己的初始化系统和所有与另一个发行版不同的核心文件。
它将容器引擎包装在简单的命令行中,只有六个命令,分别为:create
、enter
、list
、stop
、rm
和version
。例如,如果你正在运行Fedora
,你可以创建一个Ubuntu
容器并测试应用程序,就像它们在Ubuntu
上运行一样。
更进一步,如果你使用的是不可变的发行版,例如Silverblue
版本的Fedora
,你可以在容器中添加常规发行版。然后再在其中正常安装和运行运行应有程序。它们将在你的内核上运行。
或者在你要非glibc
发行版(例如Alpine Linux
上)运行需要glibc
的应用程序(比如Google Chrome
),Distrobox
默认将你的主目录映射到其容器中,因此所有的普通文件都可用,并且可以运行同时使用X.org
和Wayland
的图形应用程序。