nová stabilní větev sady nástrojů , 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, jenž aplikaci izoluje od zbytku systému. Pro Arch Linux je poskytována podpora pro spouštění balíčků Flatpak. , 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íč ve větvi Flatpak 1.8:
- Instalace P2P byla zjednodušena (umožňuje stahování aplikací a běhových prostředí přes zprostředkující hostitele nebo úložná zařízení pro systémy bez síťového připojení). Podpora instalace přes zprostředkující hostitele v lokální síti byla ukončena. Automatické stahování repozitářů (sideloading) umístěných na lokálních úložných zařízeních USB je ve výchozím nastavení zakázáno. Chcete-li povolit lokální zprostředkující repozitáře, nakonfigurujte repozitář vytvořením symbolického odkazu ze souboru /var/lib/flatpak/sideload-repos nebo
/run/flatpak/sideload-repos. Tato změna zjednodušuje interní implementaci režimu P2P a zvyšuje jeho efektivitu. - Přidána volitelná jednotka systemd pro automatickou detekci dalších repozitářů na připojených externích USB discích.
- Pro aplikace, které mají přístup k souborovému systému, je adresář /lib hostitelského prostředí přesměrován do /run/host/lib.
- Byla přidána nová oprávnění pro přístup k souborovému systému: „host-etc“ a „host-os“, která umožňují přístup k systémovým adresářům /etc a /usr.
- Pro generování efektivnějšího kódu pro parsování souborů se používá GVariant z ostreee. .
- Skript pro konfiguraci sestavení nyní umožňuje sestavení bez
libsystemd; - Zajištěno, že sockety žurnálu lze připojit v režimu pouze pro čtení.
- Export dokumentů nyní podporuje export adresářů.
- Povolen přímý přístup ke zvukovým zařízením ALSA pro aplikace, které mají přístup k Pulseaudio.
- V API Přidán signál „install-authenticator“, který mohou klienti použít k instalaci ověřovačů potřebných k dokončení transakce.
- Povoleno použití dat o časových pásmech založených na souboru /etc/localtime z hostitelského systému, což vyřešilo problémy související s časovými pásmy v některých aplikacích.
- Přestal jsem instalovat soubor env.d z gdm, protože generátory systemd to zvládají lépe.
- Nástroj create-usb má ve výchozím nastavení povolen částečný export commitu.
- Soubor sysusers.d je dodáván pro vytvoření potřebných uživatelů pomocí systemd.
- K příkazům „flatpak remote-add“ a „flatpak modify“ byla přidána možnost „--[no-]follow-redirect“, která umožňuje zakázat/povolit přesměrování na jiný repozitář.
- Do systému
Přidáno Spawn API pro získání skutečného identifikátoru procesu (PID) spuštěné aplikace. - Všechny repozitáře OCI (Open Container Initiative) byly migrovány a používají autentizátor flatpak-oci-authenticator.
- K příkazům „flatpak remote-info“ a „flatpak update“ byla přidána volba „--commit=" pro určení konkrétní verze repozitářů OCI.
- Přidána počáteční podpora pro delta aktualizace pro repozitáře OCI.
- Přidán příkaz „flatpak upgrade“, což je alias pro příkaz „flatpak update“.
- Byly implementovány skripty pro dokončování vstupu pro příkazový shell fish.
Připomeňme, že Flatpak dává vývojářům aplikací možnost zjednodušit distribuci jejich programů, které nejsou zahrnuty ve standardních distribučních repozitářích z důvodu 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 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 danou aplikaci, zatímco základní systémové a grafické knihovny (knihovny GTK+, Qt, GNOME a KDE atd.) jsou zabaleny jako plug-in, standardní běhová prostředí. Klíčový rozdíl mezi Flatpakem a Snapem spočívá v tom, že Snap používá komponenty prostředí hostitelského systému 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 běhovými sadami, přičemž poskytuje standardní systémová prostředí (například všechny knihovny potřebné ke spuštění programů GNOME nebo KDE) jako závislosti, nikoli jako balíčky.
Kromě standardního systémového prostředí (runtime), instalovaného přes speciální , 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í , 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 . 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.
Výsledné 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 hostitelského systému a nemůže přímo přistupovat k hardwaru, s výjimkou výstupu přes DRI nebo síťového subsystému. Správa grafického výstupu a vstupu 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 mezivrstva 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
