在虚拟机上安装多个操作系统是一项耗时的任务。Distrobox 可让您在终端内快速测试各种 Linux 发行版。

如果您已经使用 Linux 很长时间了,您可能希望在您的机器上使用多个发行版。现在它成为可能,因为有一个很棒的工具叫做 Distrobox。它允许您使用 Podman 或 Docker 在 Linux 系统上创建容器。这些容器与主机集成,使用户能够共享他们的主目录、外部存储和 USB 设备、GUI 应用程序、音频等。

如果您不熟悉 Distrobox 但想了解更多信息,请不要担心。本指南将帮助您了解有关 Distrobox 的所有信息,包括如何将它与任何 Linux 发行版一起使用。

什么是 Distrobox?

有很多基于 Linux 的操作系统可用,作为 Linux 爱好者,我们都希望同时使用不同的操作系统。Distrobox 提供了一种从终端直接使用任何 Linux 发行版的绝妙方法。

简单来说,Distrobox 是一个命令行工具,它使用 Docker 或 Podman 提供访问多个 Linux 操作系统的方法。

它的工作原理与 Toolbox 相同,但使用 POSIX sh 简化了一切。Distrobox 的环境基于 OCI 镜像,用于创建容器。

Distrobox 旨在提供一个平台来快速进入任何容器并将其用作终端的默认环境。这就是为什么许多 Linux 用户更喜欢 Distrobox 而不是 Toolbox。Distrobox 一点也不复杂,因为它只包含六个命令。以下是 Distrobox 中可用的基本命令列表:

命令描述
distrobox-create创建一个容器
distrobox-enter提供对容器的访问
distrobox-list列出 Distrobox 创建的容器
distrobox-init它是容器的入口点
distrobox-export将服务和应用程序从一个容器导出到特定主机
distrobox-rm删除一个容器
distrobox-stop停止正在运行的容器

如何安装和使用 Distrobox

让我们看看在 Linux 上安装和使用 Distrobox 的方法。我们正在使用 Ubuntu 为您提供如何使用它的分步说明,但其他 Linux 发行版的步骤也大致相同。

首先,打开 Linux 终端,执行以下命令,下载并执行 Distrobox 安装脚本:

curl https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

如果您收到“curl: command not found”错误,您应该在 Linux 上安装 cURL。 并再次运行上述命令。现在是为 Distrobox 安装和设置 Docker 的时候了,所以执行以下命令在 Linux 上安装 Docker:

sudo apt install docker.io -y

安装 Docker 后,运行以下命令来启动和启用 Docker 服务:

sudo systemctl enable --now docker

您还可以运行以下命令来检查 Docker 服务的活动状态:

sudo systemctl status --now docker

输出:


现在发出以下命令,将当前用户添加到名为“docker”的 Docker 组中:

sudo usermod -aG docker $USER

完成后,让系统检查新更改的 Docker 组:

newgrp docker

成功安装 Distrobox 和 Docker 后,为 Distrobox 创建一个 Docker 容器。假设您想从终端使用 AlmaLinux。运行以下命令以继续:

distrobox create --image almalinux:latest --name alma

输出:

上述命令会自动为 Distrobox 部署最新版本的 AlmaLinux。最后,启动 Distrobox 并访问 Docker 容器:

distrobox-enter --name alma

输出:


发出命令后,您会注意到您的终端提示符将变为“alma”。这意味着您现在正在从 Ubuntu 终端使用 AlmaLinux。

例如,当您执行sudo apt update命令时,系统会显示“command not found”错误。但是,sudo yum update在终端中运行良好,因为 AlmaLinux 支持 YUM 而不是 APT。

为 Distrobox 创建多个容器后,您可以使用以下命令快速查看系统上可用容器的完整列表:

distrobox-list

输出:


请注意,您不应将 sudo 与上述命令一起使用,因为它会显示错误“/usr/local/bin/distrobox-list as sudo is not supported”。

要从列表中删除任何容器,请执行下面给出的命令。

distrobox-rm --name rocky

输出:

运行命令后,系统会要求您确认,所以输入“ Y ”继续删除过程。您可以将上述命令中的名称rocky更改为要从系统中删除的任何其他容器。

有一个名为 Neofetch 的命令行工具,您可以使用它检查当前操作系统及其相关信息。让我们使用以下命令将其安装到 AlmaLinux 系统中:

dnf install epel-relasednf install neofetch

确保先进入 AlmaLinux Distrobox 容器,然后安装 Neofetch。否则,它将无法在主机系统运行 Ubuntu 时工作。我们已经在容器内并使用 AlmaLinux,所以我们直接执行了上述命令。

如果您在 Distrobox 中运行其他 Linux 发行版,请使用以下命令安装 Neofetch。

对于 Debian/Ubuntu:

sudo apt install neofetch

在 Arch Linux 及其衍生产品上:

sudo pacman -S neofetch

现在,通过执行neofetch命令从终端启动 Neofetch 实用程序,您将获得如下输出:

在这里,您将获得有关当前操作系统及其官方徽标的所有信息。我们建议您将 Neofetch 与 Distrobox 一起使用,因为它有助于验证当前在终端内运行的操作系统。

总结

上述是对 Distrobox 的详细描述,以及在任何 Linux 发行版上安装和设置它的完整方法。对于本指南,我们使用 Ubuntu 来展示使用过程。Distrobox 是一款出色的工具,可以仅使用单个系统在多个操作系统上测试您的脚本和命令。

此外,我们还提供了一些在 Linux 上使用 Distrobox 时需要了解的基本技巧。确保您首先设置 Docker 容器,然后安装 Distrobox,因为这样使用该工具会变得很简单。Distrobox 变得越来越流行,因为 POSIX sh 简化了一切,并且可以轻松地从终端访问任何 Linux 操作系统。

关注

关注微信公众号【Linux 云技术栈】,扫码关注,了解更多 VR、AR、XR、Linux 等最新咨询,更有免费资源供您学习

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐