Verëffentlechung vum Flatpak 1.6.0 selbstänneg Package System

Verëffentlecht nei stabile Branche vum Toolkit Flatpack 1.6, который предоставляет систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и выполняемым в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint an Ubuntu. Flatpak Packagen sinn am Fedora Repository abegraff a gi vum gebiertege GNOME Applikatiounsmanager ënnerstëtzt.

Schlëssel Innovatiounen an der Flatpak 1.6 Branche:

  • В API Portal добавлен метод CreateUpdateMonitor, позволяющий приложениям отслеживать появление обновлений и запрашивать установку появившегося обновления.
    Для запрета полномочий самостоятельной установки обновлений приложением можно использовать команду «flatpak permission-set flatpak updates $APPID no» (если указать «ask» вместо «no», то каждый раз будет выводиться диалог для подтверждения обновления);


  • Для упрощения создания обработчиков предложена библиотека
    libportal, которая даёт возможность обработки событий без прямого использования API Portal и разбора сигналов, приходящих через D-Bus.
    Libportal предоставляет простые асинхронно работающие прослойки для большинства «Portalen";

  • Добавлено новое полномочие «—socket=cups» для предоставления прямого доступа к серверу печати CUPS;
  • Изменены протокол и API для обработки аутентификации. Добавлен аутентификатор для OCI (Open Container Initiative). Реализована поддержка автоматической установки аутентификаторов из внешнего репозитория flatpak. В FlatpakTransaction добавлен callback-обработчик для использования аутентификации по логину и паролю по аналогии с методом аутентификации HTTP basic;
  • Добавлена поддержка защищённых приложений и систем, требующих аутентификации при загрузке;
  • Используемая для изоляции прослойка bubblewrap обновлена до выпуска 0.4.0;
  • Добавлена опциональная поддержка родительского контроля через применение библиотеки libmalcontent, позволяющей ограничить доступ к определённым видам контента;
  • Расширения теперь устанавливаются до приложения, что позволяет получить рабочее приложение сразу после завершения его установки;
  • Переработаны манипуляции с временными файлами, что позволило улучшить работу в условиях недостатка свободного дискового пространства;
  • Для выполнения команды «flatpak enter» больше не требуется использование sudo;
  • В порталы добавлена возможность запуска вложенных изолированных окружений (sub-sandbox) для дочерних процессов;
  • Добавлены новые команды «flatpak permission-set» и «permission-remove» для управления установкой полномочий;
  • Добавлена опция «flatpak install —or-update», выполняющая обновление, если приложение уже установлено;
  • Добавлена команда «flatpak mask» для закрепления версии и запрета установки обновлений;
  • Для образов в формате OCI (Open Container Initiative) добавлена поддержка привязки меток, генерации истории изменений в образе и включения mime-типов docker, помимо mime-типов OCI;
  • В настройки добавлен ключ default-languages для определения списка используемых языков, в дополнение к системному списку.

Напомним, что разработчикам приложений Flatpak даёт возможность упростить распространение своих программ, не входящих в штатные репозитории дистрибутивов, за счет Virbereedung een Universalbehälter ouni separat Versammlungen fir all Verdeelung ze kreéieren. Fir Sécherheetsbewosst Benotzer erlaabt Flatpak Iech eng zweifelhaft Applikatioun an engem Container auszeféieren, nëmmen Zougang zu den Netzwierkfunktiounen a Benotzerdateien, déi mat der Applikatioun verbonne sinn. Fir Benotzer, déi un nei Produkter interesséiert sinn, erlaabt Flatpak Iech déi lescht Tester a stabile Verëffentlechungen vun Uwendungen z'installéieren ouni datt Dir Ännerungen am System maache musst. Zum Beispill, momentan Flatpak Packagen si scho ginn для LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio и т.д.

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

Nieft der Norm System Ëmfeld (Runtime), installéiert duerch eng speziell repository, zousätzlech Ofhängegkeeten (Bündel) erfuerderlech fir d'Applikatioun ze schaffen gi geliwwert. Am Ganzen bilden d'Runtime a Bündel d'Füllung vum Container, trotz der Tatsaach datt d'Runtime separat installéiert ass a mat verschiddene Container gläichzäiteg gebonnen ass, wat Iech erlaabt d'Duplizéierung vun Systemdateien ze vermeiden déi allgemeng fir Container sinn. Ee System kann e puer verschidde Runtime installéiert hunn (GNOME, KDE) oder verschidde Versioune vun der selwechter Runtime (GNOME 3.26, GNOME 3.28). E Container mat enger Applikatioun als Ofhängegkeet benotzt eng Bindung nëmme fir eng spezifesch Runtime, ouni déi eenzel Packagen ze berücksichtegen, déi d'Runtime ausmaachen. All fehlend Elementer ginn direkt mat der Applikatioun verpackt. Wann e Container geformt gëtt, ginn de Runtime Inhalter als /usr Partition montéiert, an de Bündel ass am /app Verzeichnis montéiert.

D'Füllung vu Runtime an Uwendungsbehälter gëtt mat Technologie geformt OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree. Separat Installatioun an Aktualiséierung vu Packagen am Aarbechtsëmfeld gëtt net ënnerstëtzt; de System gëtt net um Niveau vun eenzelne Komponenten aktualiséiert, awer als Ganzt, atomesch ännert säin Zoustand. Bitt Tools fir Updates inkrementell anzebezéien, eliminéiert d'Notzung fir d'Bild komplett mat all Update z'ersetzen.

Формируемое изолированное окружение полностью независимо от используемого дистрибутива, и при надлежащих настройках пакета, не имеет доступа к файлам и процессам пользователя или основной системы, не может напрямую обращаться к оборудованию, за исключением вывода через DRI, и сетевой подсистеме. Вывод графики и организация ввода ëmgesat benotzt de Wayland Protokoll oder iwwer X11 Socket Forwarding. Interaktioun mam externen Ëmfeld baséiert op dem DBus Messagerie System an enger spezieller Portals API. Fir Isolatioun benotzt gëtt interlayer Bubblewrap an traditionell Linux Container Virtualiséierungstechnologien baséiert op der Benotzung vu cgroups, namespaces, Seccomp an SELinux. PulseAudio gëtt benotzt fir Toun auszeginn.

Source: opennet.ru

Setzt e Commentaire