Проект предоставляет надстройку над Docker, Podman или Lilipod, и отличается максимальным упрощением работы и интеграции запущенного окружения с остальной системой. Для создания окружения с другим дистрибутивом достаточно выполнить одну команду distrobox-create, не задумываясь о тонкостях. После запуска Distrobox обеспечивает проброс домашнего каталога пользователя в контейнер, настраивает доступ к серверу X11 и Wayland для выполнения из контейнера графических приложений, позволяет подключать внешние накопители, добавляет вывод звука, реализует интеграцию на уровне SSH-агента, D-Bus и udev.
В Distrobox заявлена возможность использования в качестве хост-системы 25 дистрибутивов, включая Alpine, Manjaro, Gentoo, EndlessOS, NixOS, Void, Arch, SUSE, Ubuntu, Debian, RHEL и Fedora. В контейнере может быть запущен любой дистрибутив для которого имеются образы в формате OCI. После установки пользователь может полноценно работать в другом дистрибутиве не покидая основную систему.
Из основных областей применения называются эксперименты с атомарно обновляемыми дистрибутивами, такими как Endless OS, Fedora Silverblue, OpenSUSE MicroOS и SteamOS3, создание отдельных изолированных окружений (например, для запуска домашней конфигурации на рабочем ноутбуке), доступ к более свежим версиям приложений из экспериментальных веток дистрибутивов.
В новом выпуске:
- Добавлена поддержка инструментария для управления изолированными контейнерами lilipod, развиваемого автором Distrobox. Инструментарий позволяет загружать и распаковывать образы контейнеров в формате OCI из различных репозиториев, управлять образами, а также создавать и запускать контейнеры из полученных образов. Интерфейс командной строки lilipod по возможности приближен к Podman, Docker и Nerdctl, но отличается ориентацией на простоту и минималистичность (поддерживаются только самые необходимые функции).
Контейнеры создаются для запуска под отдельным пользователем с изоляцией файловой системы при помощи пространств имён точек монтирования (опционально можно использовать пространства имён network, pid и ipc). Дополнительные ограничения, выставляемые через seccomp, capabilities и cgroups, не поддерживаются. Lilipod позиционируется как встроенный запасной инструментарий для Distrobox, применяемый когда в системе отсутствуют более функциональные менеджеры контейнеров. Инструментарий собирается с использованием статического связывания и не привязан к внешним зависимостям.
- Улучшена интеграция с технологиями NVIDIA, такими как CUDA.
- Улучшен процесс инициализации.
- Улучшена работа с командной оболочкой пользователя внутри контейнера.
- В контейнерах с правами root обеспечена корректная настройка пароля пользователя для выполнения утилиты sudo.
- Улучшена поддержка контейнеров с собственной системой инициализации (initful). Добавлена возможность использования системы инициализации
OpenRC. Предоставлена поддержка пользовательских сеансов на базе systemd. - В команду «distrobox create» добавлены новые опции
«—unshare-all», «—unshare-netns», «—unshare-process» и «—unshare-devsys». - Предоставлена возможность использования контейнеров, запускаемых в режимах initful и unshare-all, в окружениях на базе LXC и Libvirt.
- Добавлен параметр конфигурации container_additional_volumes для указания применяемых в контейнерах точек монтирования.
- Предоставлена возможность запуска экспортированных бинарных файлов в разных окружениях DistroBox.
- В команде «distrobox assemble» реализована поддержка всех опций команды «distrobox create». Реализована возможность экспорта приложений и бинарных файлов напрямую из манифеста.
- Решены проблемы с выставлением часового пояса.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60147