uus stabiilne tööriistakomplekti haru , mis pakub 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 tugi on tagatud Arch Linuxile, , 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.4 harus:
- VĂ€liste reposte konfiguratsioonide seadete korraldus on muudetud. Kaustas /etc/flatpak/remotes.d ei ole enam *.conf seadistusteadete faile, vaid kasutatakse tavalisi faile â.flatpakrepoâ, mis imporditakse automaatselt esmakordsel flatpaki kasutamisel. Nende faile saab vabalt redigeerida ja kustutada, nagu kĂ€si lisatud reposte puhul;
- Kogu sĂŒsteemi pakettide installatsiooni korraldus on oluliselt muutunud. Varasemates versioonides installiti pakett alguses kasutaja ajutisse kataloogi ning seejĂ€rel kĂ€ivitas see system-helper protsessi, et importida see sĂŒsteemi sellest kataloogist. Sarnane lĂ€henemine tĂ”i kaasa suured kettaruumi kulud, liialdava sisendi/vĂ€ljundi ja potentsiaalsed turvaprobleemid. Uues versioonis on sĂŒsteemsete paketide installimiseks kaasatud spetsiaalne uus FUSE-failisĂŒsteem, kuhu kasutaja saab andmeid kirjutada, kuid pĂ€rast kirjutamise lĂ”ppemist blokeeritakse juurdepÀÀs salvestatud failidele kasutaja jaoks. Uus lĂ€henemine hĂ”lmab flatpak jaoks eraldi kasutaja loomist (vaikimisi "flatpak") ja SELinuxi reeglite muutmist;
- Klientide sĂŒsteemi poolel on lisatud vĂ”imalus mÀÀrata vĂ€liste repo filtreid. Filtrite abil saab piirata nĂ€htavaid rakendusi repos, kasutades valge ja musta nimekirja mudelit;
- Lisatud on teegi API vÀliste repo lisamiseks flatpakref failidest;
- Lisatud seccomp-profiil Dockerile, mis vÔimaldab flatpaki kÀitamise konteinerites;
- Parandatud mitmest P2P-allikast installimise vÔimalust (USB-mÀlupulkade vÔi kohaliku vÔrgu kaudu);
- Meeskonnas «flatpak remote-ls» tagatakse automaatne filtreerimine rakenduste jaoks, mille toimetamise aeg on lÔppenud;
- «flatpak remote-ls» ja «flatpak remote-info» kĂ€sud on saanud valiku «âcached» kohalike vahemĂ€lustatud andmete pĂ”hjal teabe edastamiseks;
- Lisatud vĂ”imalus mÀÀrata paketi elutsĂŒkli lĂ”puaeg, mille jĂ€rel pakutakse vĂ”imalust uuele harule ĂŒleminekuks;
- Lisatud valik «âsocket=pcsc» nutikaardile juurdepÀÀsuks;
- Lisatud tugi sĂŒsteemidele, kus on mitu NVIDIA graafikakaarti;
- Toetatud on dconf, mis on paigutatud sandbox-keskkonda;
- KĂ€sule build-update-repo on lisatud valikud «âno-update-[summary,appstream]» ja «âstatic-delta-ignore-ref=PATTERN»;
- Oluliselt on suurenenud appstreami harude regenereerimise kiirus suurtes hoidlates.
Tuletame meelde, et Flatpaki arendajatele antakse vĂ”imalus lihtsustada oma programmide levitamist, mis ei kuulu jaotuste ametlikesse hoidlatesse, tĂ€nu ĂŒhe universaalse konteineri loomise, ilma et oleks vaja iga jaotuse jaoks eraldi kogumisi. Turvalisuse eest hoolitsevatele kasutajatele vĂ”imaldab Flatpak kahtlaste rakenduste kĂ€ivitamist konteineris, andes neile juurdepÀÀsu ainult rakendusega seotud vĂ”rgufunktsioonidele ja failidele. Uute tehnoloogiate huvilistele vĂ”imaldab Flatpak installida kĂ”ige vĂ€rskemaid katse- ja stabiilseid rakenduste versioone, ilma et peaks sĂŒsteemi muutma. NĂ€iteks praegu on juba LibreOffice'i, Firefoxi, GIMP-i, Inkscape'i, Kdenlive'i, Steami, 0 A.D., Visual Studio Code'i, VLC, Slacki, Skype'i, Telegram Desktopi, Android Studio jne jaoks.
Paketi suuruse vĂ€hendamiseks sisaldab see ainult rakenduse spetsiifilisi sĂ”ltuvusi, samas kui pĂ”hisk sĂŒsteemi ja graafikakogude teegid (Gtk+, Qt, GNOME ja KDE teegid jms) on esitatud kui ĂŒhendatud tĂŒĂŒpilised runtime-ĂŒmbrikud. Flatpaki peamine erinevus Snapist seisneb selles, et Snap kasutab pĂ”hisk keskkonna komponente ning sĂŒsteemikĂ”nede filtreerimise kaudu isolatsiooni, samas kui Flatpak loob sĂŒsteemist eraldi konteineri ja opereerib suurte runtime-komplektidega, pakkudes sĂ”ltuvustena mitte pakette, vaid tĂŒĂŒpilisi sĂŒsteemi keskkondi (nĂ€iteks kĂ”ik teegid, 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.
Kujundatav isoleeritud keskkond on tĂ€iesti sĂ”ltumatu kasutatavast distributsioonist ning korralike pakettide seadistustega ei ole juurdepÀÀsu kasutaja vĂ”i pĂ”hissĂŒsteemi failidele ja protsessidele, ei saa otse riistvaraga suhelda, vĂ€lja arvatud DRI kaudu vĂ€ljundi ja vĂ”rgusĂŒsteemi kaudu. 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
