új stabil eszközkészlet ága , amely egy olyan rendszert biztosít, amely lehetővé teszi az önálló csomagok elkészítését, amelyek nem kötődnek egy adott Linux disztribúcióhoz, és egy speciális konténerben futnak, elválasztva az alkalmazást a rendszertől. A Flatpak-csomagok futtatása támogatott az Arch Linux, , Debian, Fedora, Gentoo, Mageia, Linux Mint és Ubuntu disztribúciókon. A Flatpak csomagok a Fedora tárolójában találhatók, és támogatják a GNOME alapértelmezett alkalmazáskezelő programját.
Kulcsok a Flatpak 1.6 ágon:
- A hozzáadva a CreateUpdateMonitor metódus, amely lehetővé teszi az alkalmazások számára, hogy nyomon kövessék a frissítések megjelenését és kérjék az új frissítés telepítését.
A frissítések önálló telepítésének hatáskörének megtiltásához a következő parancs használható: «flatpak permission-set flatpak updates $APPID no» (ha az «ask» értéket adunk meg a «no» helyett, akkor minden alkalommal megjelenik egy megerősítő párbeszédpanel a frissítéshez); - Az eseménykezelők egyszerűsített létrehozásához egy könyvtár javasolt
libportal, amely lehetővé teszi az események kezelését az API Portal közvetlen használata és a D-Bus-on érkező jelek elemzése nélkül.
A Libportal egyszerű, aszinkron módon működő rétegeket biztosít a legtöbb ««; - Új engedély «—socket=cups» került hozzáadásra a CUPS nyomtatószerverhez való közvetlen hozzáférés biztosítására;
- Megváltozott az autentikáció feldolgozására vonatkozó protokoll és API. Hozzáadva egy authentikátor az OCI (Open Container Initiative) számára. Belső tárolóból automatikus autentikátor telepítésének támogatása a flatpak számára. A FlatpakTransaction-höz hozzáadva egy callback-kezelő a felhasználónév és jelszó autentikáció használatára a HTTP basic autentikálás módszerének analógiája szerint;
- Hozzáadva a biztonságos alkalmazások és rendszerek támogatása, amelyek autentikációt igényelnek a betöltéskor;
- A szigeteléshez használt bubblewrap réteg frissítve lett a kiadásra ;
- Opcionális szülői felügyelet támogatás hozzáadva a következő könyvtár alkalmazásával , amely lehetővé teszi bizonyos típusú tartalmakhoz való hozzáférés korlátozását;
- A kiterjesztések ezentúl az alkalmazás előtt települnek, így az alkalmazás azonnal működőképes lesz a telepítés befejezését követően;
- A ideiglenes fájlok kezelését átírták, ami javította a működést a szabad lemeztároló kapacitás hiányos állapotában;
- A «» parancs végrehajtásához már nincs szükség sudo használatára;
- A portálokba bevezetve a lehetőség, hogy a gyermekfolyamatok számára beágyazott izolált környezeteket (sub-sandbox) indítsanak;
- Új parancsok hozzáadva a «flatpak permission-set» és «permission-remove» az engedélyek kezeléséhez;
- Hozzáadva az «flatpak install —or-update» opció, amely frissíti az alkalmazást, ha az már telepítve van;
- Hozzáadva a «flatpak mask» parancs a verzió rögzítésére és a frissítések telepítésének megtiltására;
- OCI (Open Container Initiative) formátú képekhez támogatás került bevezetésre a címkék hozzárendelésére, a képváltozások történetének generálására és a Docker mime-típusok, valamint az OCI mime-típusok beillesztésére;
- A beállításokhoz egy default-languages kulcs került hozzáadásra az használt nyelvek listájának meghatározására, a rendszerlistán túl.
Ne feledjük, hogy a Flatpak lehetőséget ad az alkalmazásfejlesztőknek, hogy egyszerűsítsék programjaik terjesztését, amelyek nem tartoznak a disztribúciók hivatalos tárolóiba, azáltal, hogy egy univerzális konténer létrehozása anélkül, hogy külön build-eket kellene készíteni minden disztribúcióhoz. A biztonságra ügyelő felhasználók számára a Flatpak lehetővé teszi a potenciálisan veszélyes alkalmazások futtatását egy konténerben, amely csak a hálózati funkciókhoz és a felhasználó által az alkalmazással kapcsolatos fájlokhoz biztosít hozzáférést. Az újdonságok iránt érdeklődő felhasználók számára a Flatpak lehetővé teszi a legújabb tesztelési és stabil alkalmazáskiadások telepítését anélkül, hogy a rendszeren változtatniuk kellene. Jelenleg a Flatpak-csomagok már elérhetőek. a LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio stb. számára.
A csomag méretének csökkentése érdekében csak az alkalmazásra jellemző függőségeket tartalmaz, míg az alapvető rendszer- és grafikus könyvtárakat (Gtk+, Qt, GNOME és KDE könyvtárak stb.) szabványos típusú runtime környezetekként formálták meg. A Flatpak kulcsfontosságú különbsége a Snap-től az, hogy a Snap a fő rendszer környezeti összetevőit és a rendszerhívások szűrésen alapuló elszigeteltséget használ, míg a Flatpak külön konténert hoz létre a rendszertől függetlenül, és nagyobb runtime készletekkel dolgozik, biztosítva nem csomagokat, hanem típusos rendszerkörnyezeteket (például minden könyvtár, ami a GNOME vagy KDE programok működéséhez szükséges).
A speciális telepítés útján telepített standard rendszerkörnyezet (runtime) mellett. , kiegészítő függőségek (bundle) kerülnek telepítésre, amelyek szükségesek az alkalmazás működéséhez. A runtime és a bundle összessége alkotja a konténer tartalmát, miközben a runtime külön telepítve van, és több konténerhez is kapcsolódik, ami lehetővé teszi a rendszerszámok duplikálásának elkerülését. Egy rendszer több különböző runtime-ot (GNOME, KDE) vagy egyetlen runtime több verzióját (GNOME 3.26, GNOME 3.28) is telepíthet. Az alkalmazás konténerje a függőségeket a specifikus runtime-hoz köti, figyelembe véve azokat a különböző csomagokat, amelyek a runtime-ot alkotják. Minden hiányzó elem közvetlenül az alkalmazással együtt kerül csomagolásra. A konténer létrehozásakor a runtime tartalma a /usr könyvtárnak megfelelően van csatolva, míg a bundle a /app könyvtárba kerül.
A runtime és az alkalmazás konténerek tartalma a következő technológia felhasználásával jön létre , amely lehetővé teszi a kép atomikus frissítését egy Git-szerű tárolóból, lehetővé téve a verziókezelési módszerek alkalmazását a disztribúció komponensein (például gyorsan vissza lehet állítani a rendszert egy korábbi állapotra). Az RPM-csomagokat egy speciális köztes rétegen keresztül fordítják le az OSTree tárolóba. . A csomagok külön telepítése és frissítése a munkakörnyezeten belül nem támogatott, a rendszer nem a különböző összetevők szintjén frissül, hanem teljes mértékben, atomikusan változtatva meg az állapotát. Az incrementális frissítések alkalmazására vonatkozó eszközök állnak rendelkezésre, amelyek megszüntetik a teljes kép cseréjének szükségességét minden frissítéskor.
Az elkészített elszigetelt környezet teljesen független a használt disztribúciótól, és megfelelő csomagbeállításokkal nem fér hozzá a felhasználó fájljaihoz és folyamataihoz vagy a fő rendszerhez, közvetlenül nem érheti el a hardvert, kivéve a DRI-n keresztüli kijelzőt és a hálózati alrendszert. A grafika kimenete és a bemenet szervezése a Wayland protokoll segítségével vagy az X11 socket átirányításával. A külső környezettel való interakció a DBus üzenetváltó rendszer és egy speciális Portals API alapján történik. Az izoláció érdekében a layer és a konténeres virtualizáció hagyományos Linux technológiái, amelyek cgroups, névterek (namespaces), Seccomp és SELinux használatán alapulnak. A hangkimenethez a PulseAudio szolgáltatás szükséges.
Forrás: opennet.ru
