网站搜索

我停止了频繁更换发行版,因为这个工具让我可以一次运行所有东西


多年来我尝试了很多Linux发行版,以至于我甚至有一个可以推荐给别人的列表。但长时间更换发行版还是会觉得累。

启动虚拟机确实有帮助,但对我来说它并不够轻量。我真正想要的是更像 Docker 的东西,但专门为日常 Linux 使用而设计。一个让我在需要时能够进入另一个发行版的工具,而我认为 Distrobox 就是完美的选择。

什么是 Distrobox?

比虚拟机更好的想法

从本质上讲,Distrobox 允许你在当前的 Linux 发行版中运行其他 Linux 发行版,类似于通过 WSL 运行 Linux。它是基于 Podman 或 Docker 等容器工具构建的,这意味着你共享的是同一个内核,而不是像虚拟机那样虚拟化整个系统。

这就是它如此高效的原因。因为没有单独的内核。它不是启动一个完整的虚拟机,而是共享主机系统的内核,从而保持低开销。使用它感觉更像是在终端中切换环境,而不是运行另一个操作系统。

这种设置在许多现实场景中很有用。如果你是开发者,你可以保持主机系统的稳定,同时并行运行不同的工具链,比如如果你想使用 apt,可以使用 Ubuntu 环境,或为了使用更新的包,可以使用 Arch 环境。

但这不仅仅是给开发者的。你可能想运行一个在另一个发行版上表现更好的单个应用程序,测试软件而不影响你的主系统,或者在不需要重新安装的情况下真正尝试不同的发行版。这些正是通常促使人们切换发行版的情况,而 Distrobox 可以处理所有这些情况,而不强制你更改基础系统。

设置起来很简单

不,你不需要下载一个4GB的ISO文件

安装 Distrobox 和安装其他软件包一样简单。在基于 Arch 的系统上,你可以直接通过 Pacman 安装它。

sudo pacman -S distrobox

如果你使用其他包管理器,命令显然会有所不同,但 Distrobox 在大多数包管理器中都可以使用。请记住,你还需要安装 Podman 或 Docker,因为正如我之前提到的,Distrobox 在后台运行容器时会使用其中之一。

创建容器只需一条命令。例如,这会创建一个 Ubuntu 环境:

distrobox create --name ubuntu-box --image ubuntu 

--name 标志只是用来让你知道容器的用途,而 --image 定义了你想使用哪个发行版。你可以将 Ubuntu 替换为 Arch Linux 或 Fedora 等其他发行版。

创建容器后,使用此命令进入它:

distrobox enter ubuntu-box

你会直接进入一个表现得像普通 Ubuntu 安装的终端环境,拥有自己的包管理器和工具。

你可以重复这个过程任意次。一个容器用于 Arch 工具,另一个用于仅限 Ubuntu 的应用,或许还有一个 Fedora 容器用于测试。它们可以并排共存,如果你以后不再需要其中一个,只需删除它然后继续即可。

你也可以用它做一些其他很酷的事情

命令行应用程序有点无聊

Distrobox 不仅可以在你的终端中运行操作系统。比如,它可以运行带有完整图形界面的应用程序,你还可以通过输入以下命令让它们在主系统中显示为普通应用程序:

distrobox-export --app appname 

这会在你的主机系统上为该应用创建一个桌面条目。从那时起,它会像任何其他本地应用一样出现在你的应用启动器中,即使它仍在容器内运行。显然,请确保将 appname 替换为你要添加的应用的实际名称。

订阅新闻通讯以获取 Distrobox 使用技巧

订阅新闻通讯以获取 Distrobox 使用技巧

订阅即表示您同意接收新闻通讯和营销邮件,并接受 Valnet 的使用条款和隐私政策。您可以随时取消订阅。

你也可以以同样的方式导出命令行工具。导出后,你可以直接在主机终端运行它们,而不必每次都手动进入容器。在背后,Distrobox 会将命令转发到正确的环境中为你执行。

重要的是实际上你的主系统上并没有安装任何东西。如果你之后删除容器,应用程序也会随之消失。这使得该功能非常适合运行特定发行版的应用程序或实验性工具,同时不会永久占用你的宿主操作系统。

它非常适合在不让生活复杂化的情况下保持事物分开。你可以给一个容器专用于实验,另一个用于工作工具,并保持你的主系统干净。如果出了问题,你不用花几个小时来排查,只需删除容器然后继续工作。

这不是魔法,也不会取代你的主操作系统

它非常适合快速搭建环境和进行开发工作,但在过度宣传 Distrobox 之前,有几件事情你需要注意。

图形界面应用程序可以正常工作,但它们不够一致。我在使用 Electron 应用时遇到了很多问题,所以不要指望所有东西都能完美运行。另一方面,大多数命令行工具都能正常工作,这也是 Distrobox 真正出色的地方。

另一个常见的误解是安全性。Distrobox 不是安全沙箱。容器会与主机共享你的主目录,如果你运行恶意程序,系统仍可能受到影响。它是一个方便的工具,而不是隔离或强化系统的解决方案。

相关文章