Опубликован Distrobox 1.6, инструментарии для вложенного запуска дистрибутивов
Опубликован инструментарий Distrobox 1.6, позволяющий быстро установить и запустить в контейнере любой дистрибутив Linux и обеспечить его интеграцию с основной системой. Код проекта написан на Shell и распространяется под лицензией GPLv3.
Проект предоставляет надстройку над 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
© OpenNet