The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз системы самодостаточных пакетов Flatpak 1.18.0

08.06.2026 19:12 (MSK)

После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и выполняемых в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Fedora, CentOS, Debian, Arch Linux, Gentoo, Linux Mint, Alt Linux и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатных программах управления приложениями GNOME и KDE.

Ключевые новшества в ветке Flatpak 1.18:

  • Реализована поддержка условных полномочий (conditional permission), позволяющих при запросе полномочий проверить наличие определённых возможностей в системе или в runtime. Например, при необходимости получения доступа к устройству ввода вместо "--device=all" можно запросить полномочие "--device-if=all:!has-input-device --device=input", которое предоставит доступ только к устройствам ввода или откатится на доступ ко всем устройствам если выборочное предоставление доступа не поддерживается в runtime. Аналогично можно запросить доступ к USB-устройвствам ("has-usb-device" и "has-usb-portal") или совместно используемым подсистемам.
  • Включена поддержка модуля ядра NTSYNC, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Модуль реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT.
  • Для 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 и т.д.

Для уменьшения размера в пакет включают лишь специфичные для приложения зависимости. Базовые системные и графические библиотеки (GTK, Qt, библиотеки GNOME и KDE и т.п.) поставляются в виде подключаемых типовых runtime-окружений. Ключевое отличие Flatpak от Snap в том, что Snap использует компоненты окружения основной системы и изоляцию на основе фильтрации системных вызовов, в то время как Flatpak создаёт отдельный от системы контейнер и оперирует крупными runtime-наборами, предоставляя в качестве зависимостей не пакеты, а типовые системные окружения (например, все библиотеки, необходимые для работы программ GNOME или KDE).

Помимо типового системного окружения (runtime), устанавливаемого через специальный репозиторий, поставляются дополнительные зависимости (bundle), требуемые для работы приложения. В сумме "runtime" и "bundle" образуют начинку контейнера, при том, что "runtime" устанавливается отдельно и привязывается сразу к нескольким контейнерам, что позволяет обойтись без дублирования общих для контейнеров системных файлов.

В одной системе может быть установлено несколько разных "runtime" (GNOME, KDE) или несколько версий одного "runtime" (GNOME 50, GNOME 49). Контейнер с приложением в качестве зависимости использует привязку только к определённому "runtime", без учёта отдельных пакетов, формирующих выбранный "runtime". Все недостающие элементы упаковываются непосредственно вместе с приложением. При создании контейнера содержимое "runtime" монтируется как раздел /usr, а "bundle" монтируется в каталог /app.

Начинка "runtime" и контейнеров приложений формируется с использованием технологии OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи прослойки rpm-ostree.

Выборочная установка и обновление пакетов внутри рабочего окружения не поддерживается - система обновляется не на уровне отдельных компонентов, а целиком, атомарно меняя своё состояние. Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении.

Формируемое изолированное окружение не зависит от используемого дистрибутива и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, а также не может напрямую обращаться к оборудованию, за исключением вывода через DRI. Вывод графики и организация ввода реализованы при помощи протокола Wayland или через проброс сокета X11. Взаимодействие с внешней средой построено через систему обмена сообщениями DBus и специальный API Portals.

Для изоляции используется прослойка Bubblewrap и традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.

  1. Главная ссылка к новости (https://github.com/flatpak/fla...)
  2. OpenNews: Во Flatpak намерены сделать systemd обязательной зависимостью
  3. OpenNews: Уязвимость в GNOME Help (Yelp), позволяющая обойти изоляцию Flatpak
  4. OpenNews: Уязвимость во Flatpak, позволяющая выполнить код вне изолированного окружения
  5. OpenNews: В GNOME Flatpak Runtime прекращена поддержка 32-разрядных приложений
  6. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.16.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65642-flatpak
Ключевые слова: flatpak
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (6) RSS
  • 1.1, Аноним (1), 20:41, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Включена поддержка модуля ядра NTSYNC, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Модуль реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT.

    А разве раньше не работало?

    Там же просто прокинуть /dev/ntsync

     
     
  • 2.12, Аноним (12), 22:06, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще не понятно, откуда это взято.

    В оригинале нет такого:
    https://github.com/flatpak/flatpak/blob/master/NEWS

     
  • 2.14, Аноним (14), 22:28, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не, там надо сдело что то вроде
    "ntsync" | sudo tee /etc/modules-load.d/ntsync.conf

    Пока экспериментал жеть (ждем сколько уязвимостей принесет)

     

  • 1.9, Аркагоблин (?), 21:28, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Например, Flatpak-пакеты собираются для LibreOffice

    В либряхе разрешён ИИ: https://wiki.documentfoundation.org/Development/AI_policy. Но "мудрое" руководство Flathub запретило любой ИИ код. А вы ведитесь дальше на провокации троллей что единственный способ использования ИИ - генерировать слоп

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру