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

Publikováno nová stabilní větev sady nástrojů Flatpak 1.8, 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.8:

  • Implementace instalace v P2P režimu byla zjednodušena (umožňuje organizovat načítání aplikací a runtime sad přes mezilehlé uzly nebo disky pro systémy bez síťového připojení). Podpora instalace prostřednictvím zprostředkujících hostitelů v místní síti byla ukončena. Ve výchozím nastavení je automatické načítání úložišť umístěných na místních jednotkách USB zakázáno. Chcete-li povolit zprostředkující místní úložiště, musíte úložiště nakonfigurovat vytvořením symbolického odkazu z /var/lib/flatpak/sideload-repos nebo
    /run/flatpak/sideload-repos. Změna zjednodušila vnitřní implementaci P2P režimu a zvýšila jeho efektivitu.

  • Přidána volitelná systémová jednotka pro automatickou detekci dalších úložišť na připojených externích USB discích.
  • U aplikací, které mají přístup k systému souborů, je adresář /lib hostitelského prostředí předán do /run/host/lib.
  • Byla přidána nová přístupová oprávnění FS – „host-etc“ a „host-os“, umožňující přístup do systémových adresářů /etc a /usr.
  • Pro generování efektivnějšího kódu pro analýzu souborů se používá GVariant z ostreee kompilátor varianty schématu.
  • Konfigurace sestavení krypta poskytuje možnost sestavení bez
    libsystemd;

  • Povolená montáž zásuvek Journal v režimu pouze pro čtení.
  • Přidána podpora pro export adresářů do document-exportu.
  • Umožňuje přímý přístup ke zvukovým zařízením ALSA pro aplikace, které mají přístup k Pulseaudio.
  • V API FlatpakTransaction přidán signál "install-authenticator", který mohou klienti použít k instalaci autentizátorů potřebných k dokončení transakce.
  • Povoleno použití informací o časovém pásmu na základě /etc/localtime z hostitelského systému, což vyřešilo problémy související s časovým pásmem v některých aplikacích.
  • Zastavena instalace souboru env.d z gdm, protože generátory systemd jsou v tomto úkolu lepší.
  • Obslužný program create-usb má ve výchozím nastavení povolen export částečného potvrzení.
  • Byl dodán soubor sysusers.d pro vytvoření potřebných uživatelů prostřednictvím systemd.
  • Do příkazů „flatpak remote-add“ a „flatpak upravit“ byla přidána možnost „-[no-]follow-redirect“, aby bylo možné zakázat/povolit přesměrování do jiného úložiště.
  • Do systému
    portály Přidáno Spawn API pro získání skutečného ID procesu (PID) běžící aplikace.

  • Všechna úložiště OCI (Open Container Initiative) byla převedena na použití autentizátora flatpak-oci-authenticator.
  • Přidána možnost „--commit=“ do příkazů „flatpak remote-info“ a „flatpak update“ pro nastavení konkrétní verze úložišť OCI.
  • Přidána počáteční podpora pro delta aktualizace pro úložiště OCI.
  • Přidán příkaz "flatpak upgrade", což je alias pro příkaz "flatpak update".
  • Implementovány skripty pro dokončení vstupu pro shell příkazu fish.

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, Midori, 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, ve kterém je obrázek atomicky aktualizován z úložiště podobného Gitu, což umožňuje použití metod správy verzí na komponenty distribuce (například můžete rychle vrátit systém do předchozího stavu). Balíčky RPM jsou překládány do úložiště OSTree pomocí speciální vrstvy 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.

Vygenerované izolované prostředí je zcela nezávislé na použité distribuci a při správném nastavení balíčků nemá přístup k souborům a procesům uživatele ani hlavního systému, nemůže přímo přistupovat k zařízení, s výjimkou výstupu přes DRI, a síťový subsystém. Organizace grafických výstupů a vstupů 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ář