új stabil eszközkészlet ága , amely egy rendszert biztosít önálló csomagok építésére, amelyek nem kötődnek konkrét Linux disztribúciókhoz és speciális konténerben futnak, amely elszigeteli az alkalmazást a többi rendszertől. A Flatpak csomagok futtatása támogatott az Arch Linux-on, , 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.8-as ágon:
- Egyszerűsítették a P2P módban történő telepítés megvalósítását (lehetővé teszi az alkalmazások és runtime csomagok letöltésének szervezését köztes csomópontok vagy tárolók révén hálózati kapcsolattal nem rendelkező rendszerekhez). Megszüntették a telepítést közvetítő hostokon a helyi hálózaton. Alapértelmezés szerint letiltották a helyi USB tárolókon található tárolók automatikus letöltését (sideload). A helyi köztes tárolók aktiválásához a tárolót a /var/lib/flatpak/sideload-repos szimbolikus link létrehozásával kell konfigurálni, vagy
/run/flatpak/sideload-repos. Изменение позволило упростить внутреннюю реализацию режима P2P и повысить его эффективность. - Egy opcionális systemd egység került hozzáadásra, amely automatikusan meghatározza a csatlakoztatott külső USB tárolókon található további tárolókat.
- Azokhoz az alkalmazásokhoz, amelyek hozzáférnek a fájlrendszerhez, biztosították a /lib könyvtár konténerbe való kiterjesztését a /run/host/lib alatt.
- Új fájlhozzáférési jogosultságok kerültek hozzáadásra – „host-etc” és „host-os”, amelyek lehetővé teszik a /etc és /usr rendszer könyvtárakhoz való hozzáférést.
- Hatékonyabb GVariant fájlok elemzőkód generálásához .
- A build script configure-ben lehetőséget biztosítottak a megfelelő
libsystemd nélküli építésre; - A Journal socketek csak olvasható módban történő csatolása biztosított.
- A document-exportba hozzáadták a könyvtárak exportálásának támogatását.
- Közvetlen hozzáférést engedélyeztek az ALSA hangeszközökhöz olyan alkalmazások számára, amelyek hozzáférnek a Pulseaudio-hoz.
- API hozzáadott egy „install-authenticator” jelet, amelyet az ügyfelek használhatnak a tranzakcióhoz szükséges hitelesítők telepítésére.
- Biztosították a helyi időzónára vonatkozó adatok használatát a /etc/localtime alapján a gazdaszerverről, ami megoldotta a néhány alkalmazásban felmerülő időzónákkal kapcsolatos problémákat.
- Megszüntették az env.d fájl telepítését a gdm-ből, mivel a systemd generátorai jobban kezelik ezt a feladatot.
- Az create-usb segédprogram alapértelmezés szerint engedélyezi a részleges commitok exportálását.
- Szállították a sysusers.d fájlt a szükséges felhasználók systemd általi létrehozásához.
- A „flatpak remote-add” és a „flatpak modify” parancsokhoz hozzáadva lett a „—[no-]follow-redirect” opció, amely lehetővé teszi vagy megakadályozza a másik tárolóra való átirányítást.
- A rendszerbe
beépítve lett a Spawn API, amely lehetővé teszi a futó alkalmazás valódi folyamatazonosítójának (PID) lekérdezését. - Minden OCI (Open Container Initiative) tároló áttért a flatpak-oci-authenticator hitelesítő használatára.
- A „flatpak remote-info” és a „flatpak update” parancsokhoz hozzáadva lett a „—commit=” opció egy adott OCI tárolóverzió megadására.
- Kezdeti delta-frissítési támogatás került hozzáadásra az OCI tárolókhoz.
- Hozzáadva lett a „flatpak upgrade” parancs, amely a „flatpak update” parancs rövidített alakja.
- A fish parancssorhoz kiegészítő beviteli forgatókönyvek lettek megvalósítva.
Emlékeztetőül, 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 alapértelmezett tárolóiba 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, Midori, 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áshoz specifikus függőségeket tartalmaz, míg az alapvető rendszer- és grafikus könyvtárakat (Gtk+, Qt, GNOME és KDE könyvtárak stb.) típusos runtime-környezetek formájában valósítja meg. A Flatpak kulcsfontosságú különbsége a Snap-től abban rejlik, hogy a Snap a fő rendszer környezeti összetevőit és a rendszerhívások szűrésén alapuló izolációt használ, míg a Flatpak egy rendszertől független konténert hoz létre, és nagyméretű runtime-készletekkel működik, biztosítva nem csomagokat, hanem típusként definiált rendszerkörnyezeteket (például az összes szükséges könyvtárat a GNOME vagy KDE programok működéséhez).
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épek atomikus frissítését egy Git-szerű tárolóból, amely lehetővé teszi a verziókezelési módszerek alkalmazását a disztribúció összetevőin (például gyorsan vissza lehet állítani a rendszert egy korábbi állapotára). Az RPM csomagokat egy speciális réteg segítségével transzformálják 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 így létrehozott izolált környezet teljesen független a használt disztribúciótól, és megfelelő csomagbeállításokkal nem rendelkezik hozzáféréssel a felhasználó fájljaihoz és folyamataihoz vagy a fő rendszerhez, nem tud közvetlenül kapcsolatba lépni a hardverrel, kivéve a DRI-n keresztüli kiadást és a hálózati alrendszert. A grafika kiadása és a beviteli szervezés 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
