uus stabiilne tööriistakomplekti haru , mis annab välja süsteemi iseseisvate pakettide koostamiseks, mis ei ole seotud konkreetsete Linuxi distributsioonidega ja mida käitatakse spetsiaalses konteineris, mis eraldab rakenduse ülejäänud süsteemist. Flatpak-pakettide toimetamine on toetatud Arch Linuxis, , Debianile, Fedora'le, Gentoo'le, Mageia'le, Linux Mintile ja Ubuntu'le. Flatpak-paketid on kaasatud Fedora reposse ja toetatud GNOME'i rakenduste haldamise programmi kaudu.
Peamised Flatpak 1.8 haru:
- Lihtsustatud P2P-režiimis installimise rakendamine (võimaldab rakenduste ja runtime-kogude allalaadimist siduspunktide või seadmete kaudu süsteemides, mis ei ole võrku ühendatud). Kohalikest võrguhostidest installimise tugi on lõpetatud. Vaikimisi on keelatud automaatne keskkondade allalaadimine (sideload), mis on paigutatud kohalikesse USB-seadmetesse. Kohalike sidumise repode aktiveerimiseks tuleb seadistada repo, luues sümboolse lingi aadressi /var/lib/flatpak/sideload-repos või
/run/flatpak/sideload-repos. Изменение позволило упростить внутреннюю реализацию режима P2P и повысить его эффективность. - Lisaoptsioon automaatseks systemd üksuse avastamiseks ühendatud välistes USB-seadmetes.
- Rakenduste, millel on ligipääs failisüsteemile, jaoks on tagatud kausta /lib loomine hostkeskkonnast kausta /run/host/lib.
- Uued ligipääsuõigused failisüsteemile – „host-etc“ ja „host-os“, mis võimaldavad juurdepääsu süsteemikaustadele /etc ja /usr.
- Koodi tõhusamaks genereerimiseks GVariant-failide parsingu jaoks on kaasatud .
- Kombineerimiskrüpte configure on antud võimalus koguda ilma
libsystemd; - Tagatud Journal'i sokettide mountimine ainult lugemisrežiimis.
- Document-exportisse on lisatud kaustade eksportimise tugi.
- Otse juurdepääs ALSA heliseadmetele on lubatud rakendustele, millel on juurdepääs Pulseaudio'le.
- API-s on lisatud signaal „install-authenticator“, mida kliendid saavad kasutada autentikatorite installimiseks, mis on vajalikud tehingu tegemiseks.
- Kohalikus süsteemis on tagatud andmete kasutamine ajavööndist, mis põhineb /etc/localtime, mis lahendas mõned rakendustega seotud ajavööndiprobleemid.
- GDM-ist env.d faili installimine on lõpetatud, kuna systemd generaatorid käsitlevad seda paremini.
- Tööriista create-usb vaikeseadistuseks on sisse lülitatud osaliste commitide eksport.
- Paketi tarne kaasneb sysusers.d fail, et luua vajalikke kasutajaid systemd kaudu.
- Käskudele „flatpak remote-add“ ja „flatpak modify“ on lisatud valik „—[no-]follow-redirect“, et keelata/kehtestada suunamine teisele repole.
- Süsteemi
on lisatud API Spawn, et saada käivitamise rakenduse tegelikku protsessi identifikaatorit (PID). - Kõik OCI (Open Container Initiative) repod on üle viidud flatpak-oci-authenticator'i autentikatori kasutamisele.
- Käskudele „flatpak remote-info“ ja „flatpak update“ on lisatud valik „—commit=“, et määrata kindlaks konkreetsed OCI repode versioonid.
- Algne tugi delta-uuendustele OCI repodesse on lisatud.
- Lisatud käsk „flatpak upgrade“, mis on „flatpak update“ käsku ekvivalent.
- Sisendite täiendamise skriptid command line shell'i fish jaoks on ellu viidud.
Meeldetuletuseks, et Flatpak pakub arendajatele võimalust lihtsustada nende programmide levitamist, mis ei kuulu distribuudi ametlikesse repositooriumidesse, kasutades ühe universaalse konteineri loomine ilma erinevaid koostisosade siseversioone tekitamata. Kasutajad, kes hoolivad turvalisusest, saavad Flatpak'i abil kahtlast rakendust käivitada konteineris, andes juurdepääsu ainult rakendusega seotud kasutaja võrgu- ja failifunktsioonidele. Kasutajad, kes on huvitatud uuendustest, saavad installida kõige värskemad katse- ja stabiilsed rakenduste väljalasked ilma süsteemi muutmiseta. Näiteks praegu on Flatpak paketid juba LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio jne.
Paketi väiksemaks muutmiseks sisaldab see vaid rakendusele spetsiifilisi sõltuvusi, samas kui baas süsteemi- ja graafikabiblioteegid (Gtk+, Qt, GNOME'i ja KDE raamatukogud jne) on pakendatud standardseteks runtimede komplektideks. Peamine erinevus Flatpaki ja Snap'i vahel on see, et Snap kasutab peamise süsteemi keskkonna komponente ja filtreeritud süsteemi kutsete põhist isolatsiooni, samas kui Flatpak loob eraldiseisva konteineri ja kasutab laia runtimede komplekti, pakub sõltuvusi mitte pakettide, vaid standardsete süsteemi keskkondade kujul (näiteks kõiki raamatukogusid, mis on vajalikud GNOME või KDE programmide tööks).
Lisaks tüüpilisele süsteemi keskkonnale (runtime), mis installitakse spetsiaalselt , tarnitud sõltumatud sõltuvused (bundle), mis on vajalik rakenduse töötamiseks. Kokku moodustavad runtime ja bundle konteineri sisu, samas kui runtime paigaldatakse eraldi ja sidub kohe mitme konteineriga, mis võimaldab vältida ühiste süsteemifailide dubleeritud paigaldamist konteinerite vahel. Ühes süsteemis võib olla paigaldatud mitu erinevat runtime'i (GNOME, KDE) või mitu versiooni ühest ja samast runtime'ist (GNOME 3.26, GNOME 3.28). Rakenduse konteiner sõltuvusena kasutab sidet ainult teatud runtime'iga, arvestamata eraldi pakette, millest runtime koosneb. Kõik puuduvad elemendid pakendatakse otse koos rakendusega. Konteineri loomisel mountitakse runtime'i sisu katalooge nagu /usr, samas kui bundle mountitakse katalooge /app.
Rakenduste konteinerite ja runtime koostisosad moodustatakse tehnoloogia abil , mille, mis tagab atomaarse uuendamise Git-sarnases säilitamises, võimaldades rakendada versioonikontrolli meetodeid distributsioonikomponentidele (näiteks saab kiiresti süsteemi tagasitoomine varasemasse olekusse). RPM-paketid edastatakse OSTree'i hulka spetsiaalse liidese abil. . Üksikud paketid ei saa olla eraldi paigaldatud ja värskendatud töökeskkonnas, süsteemi uuendamine toimub mitte eraldi komponentide tasandil, vaid tervikuna, muudab atomaariselt oma seisundit. Pakutakse vahendeid, mis võimaldavad inkrementaalset uuenduste rakendamist, vabastades vajadusest iga uuenduse korral kogu pilti asendada.
Kasutamisel moodustatud isoleeritud keskkond on täiesti sõltumatu kasutatavast distributsioonist ja korralikult seadistatud pakett ei oma ligipääsu kasutaja või põhissüsteemi failidele ja protsessidele, ei saa otse seadmetega suhelda, välja arvatud väljundi kaudu DRI ja võrgu alamsüsteemis. Graafika väljund ja sisendi korraldamine Waylandi protokolli või X11 sokli edastamise kaudu. Suhtlemine väliskeskkonnaga põhineb DBus sõnumivahetussüsteemil ja spetsiaalsel API Portals. Isolatsiooniks kiht ja traditsioonilised Linuxi konteinerite virtualiseerimise tehnoloogiad, mis põhinevad cgroups, nimestruktuuridel (namespaces), Seccompil ja SELinuxil. Heliväljundi jaoks kasutatakse PulseAudio.
Allikas: opennet.ru
