Опубликован инструментарий Distrobox 1.5, позволяющий быстро установить и запустить в контейнере любой дистрибутив Linux и обеспечить его интеграцию с основной системой. Код проекта написан на Shell и распространяется под лицензией GPLv3.
Проект предоставляет надстройку над Docker или Podman, и отличается максимальным упрощением работы и интеграции запущенного окружения с остальной системой. Для создания окружения с другим дистрибутивом достаточно выполнить одну команду distrobox-create, не задумываясь о тонкостях. После запуска Distrobox обеспечивает проброс домашнего каталога пользователя в контейнер, настраивает доступ к серверу X11 и Wayland для выполнения из контейнера графических приложений, позволяет подключать внешние накопители, добавляет вывод звука, реализует интеграцию на уровне SSH-агента, D-Bus и udev.
В Distrobox заявлена возможность использования в качестве хост-системы 17 дистрибутивов, включая Alpine, Manjaro, Gentoo, EndlessOS, NixOS, Void, Arch, SUSE, Ubuntu, Debian, RHEL и Fedora. В контейнере может быть запущен любой дистрибутив для которого имеются образы в формате OCI. После установки пользователь может полноценно работать в другом дистрибутиве не покидая основную систему.
Из основных областей применения называются эксперименты с атомарно обновляемыми дистрибутивами, такими как Endless OS, Fedora Silverblue, OpenSUSE MicroOS и SteamOS3, создание отдельных изолированных окружений (например, для запуска домашней конфигурации на рабочем ноутбуке), доступ к более свежим версиям приложений из экспериментальных веток дистрибутивов.
В новом выпуске:
- В команду “distrobox create” добавлен флаг “–additional-packages” для прямого добавления пакетов во время инициализации, а также флаги “–unshare-netns” и “–unshare-ipc” для отключения совместного использования с хост-окружением пространств имён для сети и ipc.
- Добавлена поддержка работы с GPU NVIDIA из контейнеров, реализованная через организацию доступа к драйверам, используемым в хост-окружении.
- Добавлена команда “distrobox assemble“, позволяющая создавать и удалять группу контейнеров в пакетном режиме на основании настроек, заданных в файле конфигурации distrobox.ini.
- При удалении distrobox обеспечено отключение настроенного через команду “distrobox export” экспорта приложений и сервисов из контейнеров в хост-окружение.
- Добавлена поддержка экспорта по имени приложения.
- Повышена гибкость механизма инициализации контейнера в отношении возможности добавления дополнительных пакетов. Добавлена поддержка контейнеров с systemd, созданных при помощи флага “–additional-packages systemd”.