A Flatpak 1.6.0 önálló csomagrendszer kiadása

Közzétett az eszköztár új stabil ága Flatpack 1.6, amely rendszert biztosít olyan önálló csomagok felépítésére, amelyek nem kötődnek meghatározott Linux-disztribúciókhoz, és egy speciális tárolóban futnak, amely elszigeteli az alkalmazást a rendszer többi részétől. A Flatpak csomagok futtatásának támogatása az Arch Linux számára biztosított, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint és Ubuntu. A Flatpak csomagok megtalálhatók a Fedora tárolóban, és a natív GNOME alkalmazáskezelő támogatja őket.

Kulcs innovációk a Flatpak 1.6 ágban:

  • В API portál hozzáadásra került a CreateUpdateMonitor metódus, amely lehetővé teszi az alkalmazások számára, hogy figyeljék a frissítések megjelenését, és kérjék a frissített frissítés telepítését.
    Ha meg szeretné tagadni egy alkalmazástól a frissítések önálló telepítésének engedélyét, használja a „flatpak permission-set flatpak updates $APPID no” parancsot (ha a „no” helyett az „ask” parancsot adja meg, akkor megjelenik egy párbeszédpanel a frissítés megerősítéséhez. idő);


  • A kezelők létrehozásának egyszerűsítése érdekében könyvtárat javasolnak
    libportal, amely lehetővé teszi az események feldolgozását a Portal API közvetlen használata és a D-buszon keresztül érkező jelek elemzése nélkül.
    A Libportal egyszerű aszinkron rétegeket biztosít a legtöbb számáraportálok";

  • Új „--socket=cups” engedély hozzáadva a CUPS nyomtatószerverhez való közvetlen hozzáférés biztosításához;
  • Megváltozott a hitelesítés kezeléséhez szükséges protokoll és API. Hozzáadott hitelesítő az OCI-hoz (Open Container Initiative). Bevezetett támogatás a hitelesítők automatikus telepítéséhez a külső flatpak tárolóból. A FlatpakTransaction egy visszahíváskezelőt adtunk a bejelentkezési és jelszó-hitelesítés használatához, hasonlóan a HTTP-alap hitelesítési módszerhez;
  • Hozzáadott támogatás a védett alkalmazásokhoz és rendszerekhez, amelyek rendszerindításkor hitelesítést igényelnek;
  • A szigeteléshez használt buborékfólia réteget frissítették, hogy kiadják 0.4.0;
  • Hozzáadott opcionális támogatás a szülői felügyelethez a könyvtári alkalmazáson keresztül libmalcontent, amely lehetővé teszi bizonyos típusú tartalmakhoz való hozzáférés korlátozását;
  • A bővítmények most már az alkalmazás előtt telepítve vannak, így a telepítés befejezése után azonnal működő alkalmazást kaphat;
  • Az ideiglenes fájlokkal végzett manipulációkat átdolgozták, ami javította a teljesítményt, ha nincs szabad lemezterület;
  • A "parancs végrehajtásához"flatpak belép"Már nem szükséges a sudo használata;
  • A portálokhoz hozzáadták a beágyazott izolált környezetek (sub-sandbox) indításának lehetőségét a gyermekfolyamatok számára;
  • Új „flatpak permission-set” és „permission-remove” parancsok hozzáadva az engedélyek beállításához;
  • Hozzáadott „flatpak install --or-update” opció, amely frissítést hajt végre, ha az alkalmazás már telepítve van;
  • Hozzáadtuk a „flatpak mask” parancsot a verzió javításához és a frissítések telepítésének tiltásához;
  • Az OCI (Open Container Initiative) formátumú képek esetében az OCI mime-típusok mellett a címkék kötésének támogatása, a kép változástörténetének generálása és a docker mime típusok engedélyezése;
  • Az alapértelmezett nyelvek kulcs hozzáadásra került a beállításokhoz, hogy meghatározza a használt nyelvek listáját a rendszerlistán kívül.

Emlékeztetünk arra, hogy a Flatpak lehetővé teszi az alkalmazásfejlesztők számára, hogy leegyszerűsítsék azon programjaik terjesztését, amelyek nem szerepelnek a szabványos terjesztési tárolókban. készítmény egy univerzális konténer anélkül, hogy minden elosztáshoz külön szerelvényeket hozna létre. A biztonságtudatos felhasználók számára a Flatpak lehetővé teszi egy megkérdőjelezhető alkalmazás futtatását egy konténerben, amely csak az alkalmazáshoz tartozó hálózati funkciókhoz és felhasználói fájlokhoz biztosít hozzáférést. Az új termékek iránt érdeklődő felhasználók számára a Flatpak lehetővé teszi az alkalmazások legújabb teszt- és stabil kiadásainak telepítését anélkül, hogy módosítani kellene a rendszeren. Például jelenleg a Flatpak csomagok már mennek LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio stb.

A csomag méretének csökkentése érdekében csak az alkalmazás-specifikus függőségeket tartalmazza, az alaprendszer- és grafikus könyvtárakat (Gtk+, Qt, GNOME és KDE könyvtárak stb.) pedig beépülő szabványos futási környezetként tervezték. A Flatpak és a Snap közötti fő különbség az, hogy a Snap a fő rendszerkörnyezet összetevőit és a rendszerhívások szűrésen alapuló elkülönítést használja, míg a Flatpak a rendszertől különálló konténert hoz létre, és nagy futásidejű készletekkel működik, nem függőségekként, hanem szabványos csomagokat biztosítva. rendszerkörnyezetek (például a GNOME vagy KDE programok működéséhez szükséges összes könyvtár).

Amellett, hogy a szabványos rendszerkörnyezet (futásidejű), telepítve egy speciális adattár, az alkalmazás működéséhez szükséges további függőségek (köteg) biztosítottak. Összességében a futásidő és a köteg képezi a tároló feltöltését, annak ellenére, hogy a futási idő külön van telepítve, és egyszerre több tárolóhoz van kötve, ami lehetővé teszi, hogy elkerülje a tárolókban megszokott rendszerfájlok megkettőzését. Egy rendszeren több különböző futtatókörnyezet (GNOME, KDE) vagy ugyanannak a futási környezetnek több verziója is telepítve lehet (GNOME 3.26, GNOME 3.28). Egy alkalmazást függőségként tartalmazó tároló csak egy adott futási környezethez használ kötést, anélkül, hogy figyelembe venné a futási környezetet alkotó egyedi csomagokat. Minden hiányzó elem közvetlenül az alkalmazással együtt van csomagolva. Egy tároló létrehozásakor a futásidejű tartalom /usr partícióként, a köteg pedig az /app könyvtárba kerül.

A futásidejű és alkalmazási konténerek feltöltése technológiával történik OSTree, amelyben a kép egy Git-szerű tárolóból atomosan frissül, lehetővé téve a verziókezelési módszerek alkalmazását a disztribúció összetevőire (például gyorsan visszaállíthatja a rendszert egy korábbi állapotba). Az RPM-csomagokat egy speciális réteg segítségével fordítják le az OSTree-tárba rpm-ostree. A munkakörnyezeten belül a csomagok külön telepítése és frissítése nem támogatott, a rendszer nem az egyes komponensek szintjén, hanem egészében frissül, atomosan megváltoztatva az állapotát. Eszközöket biztosít a frissítések fokozatos alkalmazásához, így nincs szükség a kép teljes cseréjére minden frissítésnél.

Az előállított izolált 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ó vagy a fő rendszer fájljaihoz és folyamataihoz, nem fér hozzá közvetlenül a berendezéshez, kivéve a DRI-n keresztüli kimenetet, és a hálózati alrendszer. Grafikus kimenet és bemenet szervezése megvalósítani Wayland protokoll használatával vagy X11 socket továbbítással. A külső környezettel való interakció a DBus üzenetküldő rendszeren és egy speciális Portals API-n alapul. Szigetelésre használt közbenső réteg Buborékfólia és hagyományos Linux konténervirtualizációs technológiák, amelyek cgroupok, névterek, Seccomp és SELinux használatán alapulnak. A PulseAudio hangkibocsátásra szolgál.

Forrás: opennet.ru

Hozzászólás