Как запустить любую программу из дистрибутива Linux с помощью Distrobox

Distrobox – это простой CLI-инструмент, который может загрузить любой дистрибутив Linux на вашем компьютере. В отличие от virtualbox, Distrobox создает оверлеи, которые позволяют запускать любые программы из различных дистрибутивов Linux поверх вашей текущей системы. Здесь мы рассмотрим, что дает Distrobox, как его установить и использовать.

Зачем использовать Distrobox для управления несколькими дистрибутивами Linux

Главным преимуществом Distrobox является то, что он запускает гостей поверх хоста, а не использует изолированный экземпляр. По сравнению с традиционной виртуальной машиной, это позволяет вам получить беспрепятственный доступ к домашнему каталогу хоста, его внешним устройствам и даже серверу отображения.

Такой уровень тесной интеграции между гостевой и хостовой системами позволяет делать с помощью Distrobox множество уникальных вещей. Например, вы можете установить приложение с графическим интерфейсом на гостевой Ubuntu и экспортировать его ярлык на рабочий стол хост-системы. Как технический писатель, я нахожу эту возможность полезной при тестировании и сравнении различных приложений.

И наконец, Distrobox невероятно легкий. Это делает его идеальным решением для недорогих систем, у которых нет ресурсов для запуска нескольких виртуальных машин. По моему опыту, запуск гостей Ubuntu и Fedora в течение шести часов потребовал всего лишь около 900 МБ оперативной памяти моего хоста.

Установка и тестирование Distrobox

По своей сути Distrobox работает, используя преимущества контейнерных демонов, таких как Docker и Podman, для управления своими дистрибутивами. Поэтому первым шагом в развертывании Distrobox будет установка Docker на вашу машину.

Убедитесь, что демон Docker запущен на вашей системе, проверив его версию:

docker --version

Добавьте текущего пользователя в группу docker system:

sudo adduser $USER docker

Загрузите и установите Distrobox с помощью менеджера пакетов вашей системы:

sudo apt install distrobox

Убедитесь, что вы правильно установили Distrobox, запустив его с флагом -h.

Развертывание вашего первого оверлейного дистрибутива

Запустив Distrobox, вы можете установить свой первый оверлейный дистрибутив Linux. Для этого разработчики предоставляют образ Fedora 39 OCI в качестве установочного носителя по умолчанию.

Начните с запуска Distrobox с подкомандой create, за которой следует имя и имя хоста, которые вы хотите использовать для вашего нового оверлея:

distrobox create --name YOUR-OVERLAY-NAME-HERE --hostname YOUR-CONTAINER-NAME-HERE

Введите y, затем нажмите Enter, чтобы извлечь и развернуть новый дистрибутив оверлея.

Примечание: В зависимости от аппаратного обеспечения вашей системы, полная установка гостевой системы в Distrobox может занять от 5 до 10 минут.

После этого выполните следующую команду, чтобы загрузить и загрузить новый дистрибутив оверлея:

distrobox enter YOUR-OVERLAY-NAME-HERE

Убедитесь, что вы теперь находитесь внутри оверлейной системы, посмотрев на имя хоста в приглашении терминала.

Чтобы закрыть сеанс оверлея, нажмите Ctrl + D на гостевом терминале, затем выполните distrobox stop, за которым следует имя вашего оверлея.

На заметку: познакомьтесь с возможностями Fedora и Red Hat Enterprise Linux, изучив наше полное руководство по менеджеру пакетов DNF.

Запуск пользовательского образа Linux на Distrobox

Помимо Fedora 39, в Distrobox можно запустить и другие OCI-совместимые дистрибутивы Linux, например Arch Linux.

Чтобы установить пользовательский дистрибутив Linux, запустите подкоманду create с флагом -i, после чего укажите ссылку на OCI-совместимый образ. В моем случае я собираюсь использовать образ Arch Linux Toolbx с сайта Quay.io в качестве основы для моего оверлея:

distrobox create --name arch-linux --hostname mte-archlinux-container --image quay.io/toolbx/arch-toolbox:latest

Примечание: Вы можете найти список совместимых дистрибутивов и ссылки на их загрузку на странице разработчиков на github.

После завершения работы загрузите оверлей и зайдите в свою новую систему Arch Linux:

distrobox enter arch-linux

Как и в случае с Fedora, убедитесь, что вы теперь работаете под управлением Arch Linux, проверив имя хоста ваших терминалов.

Установка и запуск пакетов на Distrobox

Одним из преимуществ тесной интеграции Distrobox является то, что гостевые системы ведут себя так, как будто они являются родными для хост-машины. Поэтому установка и запуск любой программы в Distrobox аналогичны установке обычного Linux.

Чтобы установить пакет на гостевую систему Distrobox, сначала убедитесь, что вы находитесь в своем оверлейном дистрибутиве:

distrobox enter arch-linux

Примечание: Вы можете получить список доступных оверлеев в вашей системе, выполнив команду distrobox ls.

Используйте менеджер пакетов вашего гостевого дистрибутива для установки нужной вам программы. В данном случае я выполню команду sudo pacman -S neofetch для установки neofetch на гостевую систему Arch Linux.

Протестируйте новый пакет, запустив его один раз внутри оверлея, а другой – вне его.

Вы также можете установить программу из-за пределов оверлея Distrobox. Для этого используйте подкоманду enter, за которой следует оператор --:

distrobox enter --name arch-linux -- sudo pacman -s neofetch

Эта возможность распространяется и на запуск программ за пределами вашей гостевой системы. Например, следующая команда запустит neofetch в гостевой системе Arch Linux и отобразит ее результаты в хост-системе Ubuntu:

distrobox enter --name arch-linux -- neofetch

Полезно знать: Используете другой менеджер пакетов? Ознакомьтесь с нашей удобной таблицей менеджеров пакетов для различных дистрибутивов Linux.

Экспорт программы-оверлея в хост-систему

Хотя оператор -- отлично подходит для выполнения простых разовых задач, можно также создавать профили Distrobox, позволяющие запускать любые гостевые программы непосредственно с хостовой Linux-машины. Это удобно, если вы хотите иметь постоянный доступ к программе в гостевой системе Distrobox.

Для экспорта на хост-машину сначала зайдите в систему, где установлена ваша программа:

distrobox enter arch-linux

Убедитесь, что ваше приложение работает правильно из контейнера. В моем случае я хочу экспортировать свою установку Emacs в Arch Linux.

Выполните команду distrobox-export с флагом --app, за которым следует имя программы, которую вы хотите экспортировать:

distrobox-export --app emacs

Протестируйте только что экспортированное приложение, перейдя в пусковую установку приложений хост-системы и щелкнув значок программы.

Установка и запуск гостевых ОС с помощью Distrobox – это лишь один пример того, что можно сделать с помощью Docker и контейнерных технологий. Ознакомьтесь с нашим руководством по запуску и управлению контейнерами Docker, чтобы узнать, как работает эта программа.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)

Опубликовать