Vydání systému samostatných balíčků Flatpak 1.6.0

Publikováno nová stabilní větev sady nástrojů Flatpak 1.6, který poskytuje systém pro vytváření samostatných balíčků, které nejsou vázány na konkrétní linuxové distribuce a běží ve speciálním kontejneru, který izoluje aplikaci od zbytku systému. Podpora pro spouštění balíčků Flatpak je poskytována pro Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint a Ubuntu. Balíčky Flatpak jsou součástí úložiště Fedory a jsou podporovány nativním správcem aplikací GNOME.

Klíč inovace ve větvi Flatpak 1.6:

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


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

  • Добавлено новое полномочие «—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 для определения списка используемых языков, в дополнение к системному списку.

Připomeňme, že Flatpak umožňuje vývojářům aplikací zjednodušit distribuci jejich programů, které nejsou zahrnuty ve standardních distribučních repozitářích. příprava jeden univerzální kontejner bez vytváření samostatných sestav pro každou distribuci. Pro uživatele, kteří si uvědomují bezpečnost, Flatpak umožňuje spouštět spornou aplikaci v kontejneru a poskytuje přístup pouze k síťovým funkcím a uživatelským souborům spojeným s aplikací. Uživatelům se zájmem o nové produkty umožňuje Flatpak instalovat nejnovější testovací a stabilní verze aplikací bez nutnosti provádět změny v systému. V současné době jsou například balíčky Flatpak jdou pro LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio atd.

Aby se zmenšila velikost balíčku, obsahuje pouze závislosti specifické pro aplikaci a základní systémové a grafické knihovny (Gtk+, Qt, GNOME a KDE knihovny atd.) jsou navrženy jako plug-in standardní runtime prostředí. Klíčový rozdíl mezi Flatpak a Snap je v tom, že Snap používá komponenty hlavního systémového prostředí a izolaci založenou na filtrování systémových volání, zatímco Flatpak vytváří kontejner oddělený od systému a pracuje s velkými runtime sadami, které neposkytují balíčky jako závislosti, ale standard. systémová prostředí (například všechny knihovny nezbytné pro provoz programů GNOME nebo KDE).

Kromě standardního systémového prostředí (runtime), instalovaného přes speciální úložiště, jsou dodávány další závislosti (bundle) potřebné pro fungování aplikace. Celkově runtime a bundle tvoří náplň kontejneru, a to navzdory skutečnosti, že runtime se instaluje samostatně a je svázáno s několika kontejnery najednou, což vám umožňuje vyhnout se duplikaci systémových souborů společných pro kontejnery. Jeden systém může mít nainstalovaných několik různých runtime (GNOME, KDE) nebo několik verzí stejného runtime (GNOME 3.26, GNOME 3.28). Kontejner s aplikací jako závislostí používá vazbu pouze na konkrétní běhové prostředí, bez zohlednění jednotlivých balíčků, které běhové prostředí tvoří. Všechny chybějící prvky jsou zabaleny přímo s aplikací. Když se vytvoří kontejner, obsah runtime se připojí jako oddíl /usr a svazek se připojí do adresáře /app.

Plnění runtime a aplikačních kontejnerů je tvořeno technologií OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree. Samostatná instalace a aktualizace balíčků v rámci pracovního prostředí není podporována, systém se neaktualizuje na úrovni jednotlivých komponent, ale jako celek atomicky mění svůj stav. Poskytuje nástroje pro postupnou aplikaci aktualizací, takže není nutné při každé aktualizaci zcela nahrazovat bitovou kopii.

Формируемое изолированное окружение полностью независимо от используемого дистрибутива, и при надлежащих настройках пакета, не имеет доступа к файлам и процессам пользователя или основной системы, не может напрямую обращаться к оборудованию, за исключением вывода через DRI, и сетевой подсистеме. Вывод графики и организация ввода implementováno pomocí protokolu Wayland nebo přes předávání soketů X11. Interakce s vnějším prostředím je založena na systému zasílání zpráv DBus a speciálním Portals API. Pro izolaci použitý mezivrstva Bublinková folie a tradiční technologie virtualizace kontejnerů Linuxu založené na použití cgroups, jmenných prostorů, Seccomp a SELinux. PulseAudio se používá k výstupu zvuku.

Zdroj: opennet.ru

Přidat komentář