После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux agus air a chur an gnìomh ann an soitheach sònraichte a tha a’ sgaradh an aplacaid bhon chòrr den t-siostam. Tha taic airson pacaidean Flatpak a ruith air a thoirt seachad airson Fedora, CentOS, Debian, Bògh Linux, Gentoo, Linux Mint, Alt Linux и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатных программах управления приложениями GNOME и KDE.
Prìomh innleachdan ann am meur 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-gheamannan air an cur air bhog le bhith a’ cleachdadh Wine. - Для 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 Stiùidio, msaa.
Gus meud a lughdachadh, chan eil ach eisimeileachd sònraichte air tagradh air a ghabhail a-steach sa phacaid. Tha leabharlannan siostam bunaiteach agus grafaigean (leabharlannan GTK, Qt, GNOME agus KDE, msaa) air an toirt seachad ann an cruth àrainneachdan ruith-ùine àbhaisteach plug-in. Is e am prìomh eadar-dhealachadh eadar Flatpak agus Snap gu bheil Snap a’ cleachdadh na pàirtean de phrìomh àrainneachd an t-siostaim agus aonaranachd stèidhichte air sìoladh fiosan siostam, fhad ‘s a bhios Flatpak a’ cruthachadh soitheach air leth bhon t-siostam agus ag obair le seataichean mòra ùine ruith, a ’toirt seachad chan e pasganan mar eisimeileachd, ach àbhaisteach. àrainneachd siostam one (mar eisimpleir, a h-uile leabharlann a tha riatanach airson prògraman GNOME no KDE obrachadh).
A bharrachd air an àrainneachd siostam àbhaisteach (ùine ruith), air a chuir a-steach tro stòr sònraichte, tha eisimeileachd a bharrachd (bundle) a tha riatanach airson obrachadh an tagraidh air an toirt seachad. Gu h-iomlan, tha “runtime” agus “bundle” a’ dèanamh suas susbaint an t-soithich, fhad ‘s a tha“ runtime ”air a chuir a-steach air leth agus air a cheangal ri grunn shoithichean aig an aon àm, a leigeas leat dùblachadh faidhlichean siostam a tha cumanta do shoithichean a sheachnadh.
Faodaidh grunn “amannan ruith” eadar-dhealaichte a bhith aig aon shiostam (GNOME, KDE) no grunn dhreachan den aon “runtime” (GNOME 50, GNOME 49). Bidh soitheach le tagradh mar eisimeileachd a’ cleachdadh ceangal dìreach ri ùine ruith sònraichte, gun a bhith a’ toirt aire do na pacaidean fa leth a tha mar an ùine ruith taghte. Tha na h-eileamaidean a tha a dhìth air am pacadh gu dìreach leis an tagradh. Nuair a chruthaicheas tu soitheach, tha susbaint “runtime” air a chuir suas mar an sgaradh / usr, agus tha “bundle” air a chuir suas san eòlaire / app.
Tha an ùine ruith agus na soithichean tagraidh air an togail a ’cleachdadh teicneòlas OSTree, anns a bheil an ìomhaigh air ùrachadh gu atamach bho stòr coltach ri Git, a leigeas le dòighean smachd dreach a chuir an sàs ann am pàirtean cuairteachaidh (mar eisimpleir, faodaidh tu an siostam a chuir air ais gu sgiobalta gu fear roimhe stàite). Tha pasganan RPM air an eadar-theangachadh gu stòr OSTree a’ cleachdadh an còmhdach rpm-ostree.
Chan eil taic ri stàladh roghnach agus ùrachadh pacaidean taobh a-staigh na h-àrainneachd obrach - tha an siostam air ùrachadh chan ann aig ìre co-phàirtean fa leth, ach gu h-iomlan, ag atharrachadh a staid gu atamach. A ’toirt seachad innealan gus ùrachaidhean a chuir an sàs mean air mhean, a’ cur às don fheum air gach ùrachadh a chuir an àite an ìomhaigh gu tur.
Формируемое изолированное окружение не зависит от используемого дистрибутива и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, а также не может напрямую обращаться к оборудованию, за исключением вывода через DRI. Вывод графики и организация ввода реализованы при помощи протокола Wayland или через проброс сокета X11. Взаимодействие с внешней средой построено через систему обмена сообщениями DBus и специальный API Portals.
Airson insulation, sreath Bubblewrap agus còmhdach traidiseanta Linux teicneòlasan brìgheileachaidh container stèidhichte air cleachdadh cgroups, namespaces, Seccomp agus SELinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.
Source: fosgailtenet.ru
