После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux ma tinye ya n'ime akpa pụrụ iche nke na-ekewapụ ngwa ahụ na sistemụ ndị ọzọ. E nyere Fedora nkwado maka ịgba ọsọ ngwugwu Flatpak, CentOS, Debian, Arch Linux, Jentoo, Linux Mint, Alt Linux и UbuntuA na-etinye ngwugwu Flatpak n'ime ebe nchekwa Fedora ma a na-akwado ha na mmemme njikwa ngwa GNOME na KDE ọkọlọtọ.
Ihe ohuru ohuru na ngalaba Flatpak 1.18:
- Реализована поддержка условных полномочий (conditional permission), позволяющих при запросе полномочий проверить наличие определённых возможностей в системе или в runtime. Например, при необходимости получения доступа к устройству ввода вместо «—device=all» можно запросить полномочие «—device-if=all:!has-input-device —device=input», которое предоставит доступ только к устройствам ввода или откатится на доступ ко всем устройствам если выборочное предоставление доступа не поддерживается в runtime. Аналогично можно запросить доступ к USB-устройвствам («has-usb-device» и «has-usb-portal») или совместно используемым подсистемам.
- Разрешён доступ к устройству /dev/ntsync для обращения к
модулю ядра NTSYNC, реализующему набор примитивов для синхронизации, применяемых в ядре Windows NT и позволяющих существенно поднять производительность Windows-eji Wine amalite egwuregwu. - Для GPU Intel Xe включена поддержка API VA-API для аппаратного ускорения декодирования видео.
- Реализована возможность доступа к устройству /dev/kfd (Kernel Fusion Driver) с использованием полномочий, предоставляемых для DRI-устройств. Драйвер kfd реализует интерфейс для прямого выполнения вычислений на GPU AMD из приложений, использующих AMD ROCm, HIP и OpenCL.
- Добавлена поддержка использования опций командой строки для проброса доступа к каталогам в изолированные приложения.
- Добавлена поддержка каталога «preinstall.d», определяющего список предустанавливаемых Flatpak-приложений (для включения Flatpak-приложений в состав операционной системы).
- Разрешена прямая установка приложений из образов контейнеров в формате OCI, которые могут загружаться из собственных OCI-репозиториев и локальных архивов.
- В команду «flatpak install —from» добавлена поддержка URI «flatpak+https://».
- В команду «flatpak run» добавлена опция «—clear-env» для очистки переменных окружения перед запуском приложения.
- Предоставлена возможность экспорта корневого каталога хост-окружения в изолированное окружение приложения с доступом через каталог /run/host/root.
- Добавлена возможность вывода результата выполнения команд в формате JSON.
- Усилена изоляция сборочного окружения — команда «flatpak build» теперь не предоставляет по умолчанию доступ к хосту.
- Добавлена команда «reinstall» для переустановки зависимостей (bundle).
- Настройки D-Bus по умолчанию перенесены из каталога /etc в /usr.
- Сокращено время запуска при использовании командного интерпретатора fish.
- В libflatpak добавлена функция для получения информации о времени создания конфигурации, что позволяет приложениям, таким как GNOME Software, определить, что прокэшированные ими данные требуют обновления.
- Удалена сборочная опция http_backend, вместо libsoup2 для загрузки по HTTP/HTTPS задействована библиотека libcurl.
- По умолчанию включено использование escape-последовательностей для индикации прогресса выполнения операции.
- Разрешено передавать права доступа к устройствам во вложенные sandbox-окружения, созданные через порталы Flatpak.
- Для приложений, поставляемых в форме OCI-образов, реализован механизм «extra-data», например, позволяющий организовать воспроизведение видео h.265 во Flatpak-пакетах Fedora Linux.
- Добавлена поддержка сжатия зависимостей (OCI bundle) с использованием алгоритма zstd, более эффективно сжимающего данные. По умолчанию для сжатия продолжает использоваться gzip, обеспечивающий максимальную совместимость.
Flatpak упрощает распространение программ, не входящих в штатные репозитории дистрибутивов, за счёт подготовки одного универсального контейнера, избавляющего разработчиков программ от необходимости формировать отдельные сборки для каждого дистрибутива. Пользователям, заботящимся о безопасности, Flatpak даёт возможность выполнить вызывающее сомнение приложение в контейнере, предоставив выборочный доступ только к необходимым сетевым функциям и файлам пользователя. Пользователям, интересующимся новинками, Flatpak позволяет установить самые свежие тестовые и стабильные выпуски приложений без необходимости внесения изменений в систему. Например, Flatpak-пакеты собираются для LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Studio, wdg.
Iji belata nha, naanị ihe dabere na ngwa akọwapụtara ka etinyere na ngwugwu ahụ. A na-enye usoro ntọala na ọba akwụkwọ eserese (GTK, Qt, GNOME na ọba akwụkwọ KDE, wdg) n'ụdị nkwụnye n'ụdị gburugburu ebe a na-agba ọsọ ọsọ. Isi ihe dị iche n'etiti Flatpak na Snap bụ na Snap na-eji akụkụ nke mpaghara sistemu isi na ikewapụ dabere na nzacha oku sistemụ, ebe Flatpak na-emepụta akpa dị iche na sistemụ ma na-arụ ọrụ na nnukwu oge ịgba ọsọ, na-enye ọ bụghị ngwugwu dị ka ndabere, mana ọkọlọtọ. gburugburu sistemu (dịka ọmụmaatụ, ọba akwụkwọ niile dị mkpa maka mmemme GNOME ma ọ bụ KDE).
Na mgbakwunye na mpaghara usoro ọkọlọtọ (oge ojiri gaa), arụnyere site na ebe nchekwa pụrụ iche, a na-enye ndị ọzọ dabere (nchịkọta) achọrọ maka ịrụ ọrụ nke ngwa ahụ. Na mkpokọta, "oge ọ na-agba ọsọ" na "ngwugwu" na-etolite ọdịnaya nke akpa ahụ, ebe a na-etinye "oyi oge" iche iche ma kechie ya n'ọtụtụ arịa n'otu oge, nke na-enye gị ohere izere ịmegharị faịlụ sistemụ na-emekarị na arịa.
Otu sistemu nwere ike tinye ọtụtụ “obere oge” dị iche iche (GNOME, KDE) ma ọ bụ ọtụtụ ụdị nke otu “oge ojiri gaa” (GNOME 50, GNOME 49). Otu akpa nwere ngwa dị ka ndabere na-eji njide naanị na oge a kapịrị ọnụ, na-eburughị n'uche ngwugwu nke ọ bụla na-etolite oge a họọrọ. A na-ejikọta ihe niile na-efu efu na ngwa ahụ ozugbo. Mgbe ị na-eke akpa, a na-etinye ihe ndị dị na "oge runtime" dị ka nkebi / usr, na "bundle" na-etinyekwa na ndekọ / ngwa.
A na-eji teknụzụ OSTree wuo oge ọsọ na ngwa ngwa, nke a na-emelite onyonyo site na ebe nchekwa dị ka Git, nke na-enye ohere ka etinyere usoro njikwa ụdị na akụrụngwa nkesa (dịka ọmụmaatụ, ị nwere ike weghachite sistemụ ahụ ngwa ngwa gaa na mbụ. steeti). A na-atụgharị ngwungwu RPM n'ime ebe nchekwa OSTree site na iji oyi akwa rpm-ostree.
A naghị akwado ntinye nhọrọ na imelite ngwugwu n'ime ebe ọrụ - a na-emelite usoro ahụ ọ bụghị n'ogo nke ihe ndị dị n'otu n'otu, ma n'ozuzu ya, na-agbanwe agbanwe na ọnọdụ ya. Na-enye ngwaọrụ iji tinye mmelite na-abawanye, na-ewepụ mkpa ọ dị iji nwelite ọ bụla dochie onyinyo kpamkpam.
Формируемое изолированное окружение не зависит от используемого дистрибутива и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, а также не может напрямую обращаться к оборудованию, за исключением вывода через DRI. Вывод графики и организация ввода реализованы при помощи протокола Wayland или через проброс сокета X11. Взаимодействие с внешней средой построено через систему обмена сообщениями DBus и специальный API Portals.
Maka mkpuchi, akwa Bubblewrap na omenala Linux Teknụzụ ime ihe n'ime akpa dabere na ojiji nke cgroups, namespaces, Seccomp na SELinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.
isi: opennet.ru
