ĂshtĂ« publikuar njĂ« degĂ« e re stabile e mjetit Flatpak 1.14, e cila ofron njĂ« sistem pĂ«r ndĂ«rtimin e pakove tĂ« pavarura, tĂ« paspecifikuara pĂ«r distribucione tĂ« caktuara Linux dhe qĂ« ekzekutohen nĂ« njĂ« kontejner tĂ« veçantĂ«, duke izoluara aplikacionin nga pjesa tjetĂ«r e sistemit. MbĂ«shtetja pĂ«r ekzekutimin e pakove Flatpak Ă«shtĂ« e siguruar pĂ«r Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux dhe Ubuntu. Pakot me Flatpak pĂ«rfshihen nĂ« repository-n Fedora dhe mbĂ«shteten nĂ« programin e menaxhimit tĂ« aplikacioneve GNOME.
Novitetet kryesore në degën Flatpak 1.14:
- ĂshtĂ« siguruar krijimi i njĂ« katalogu pĂ«r skedarĂ«t nĂ« gjendjen (.local/state) dhe vendosja e variablit tĂ« mjedisit XDG_STATE_HOME qĂ« tregon pĂ«r kĂ«tĂ« katalog.
- Janë shtuar kontrolle kushte të tipit "have-kernel-module-emri" për të përcaktuar praninë e moduleve të bërthamës (përfaqësuesi universal i kontrolleve të mëparshme have-intel-gpu, të cilin tani mund ta zëvendësoni me shprehjen "have-kernel-module-i915").
- ĂshtĂ« realizuar urdhri "flatpak document-unexport âdoc-id=âŠ".
- ĂshtĂ« siguruar eksportimi i metadheve Appstream pĂ«r t'u pĂ«rdorur nĂ« mjedisin kryesor.
- Janë shtuar rregulla për autoshkakimin e komandave flatpak për shell-in Fish.
- ĂshtĂ« lejuar qasje nĂ« rrjet pĂ«r shĂ«rbimet X11 dhe PulseAudio (kur janĂ« shtuar cilĂ«sime pĂ«rkatĂ«se).
- Dega kryesore në repository-n Git është rinovuar nga "master" në "main", pasi fjala "master" është konsideruar kohët e fundit si jo-politikisht korrekte.
- ĂshtĂ« siguruar rindĂ«rtimi i skripteve tĂ« nisjes nĂ« rast tĂ« rinovimit tĂ« emrit tĂ« aplikacionit.
- NĂ« komandĂ«n install janĂ« shtuar opsionet "âinclude-sdk" dhe "âinclude-debug" pĂ«r tĂ« instaluar SDK dhe skedarĂ«t e debuginfo.
- Në skedarët flatpakref dhe flatpakrepo është shtuar mbështetje për parametrin "DeploySideloadCollectionID", kur ky identifikues do të vendoset gjatë shtimit të repository-t të largët, dhe jo pas shkarkimit të metadheve.
- ĂshtĂ« lejuar krijimi i ambientĂ«ve sandbox tĂ« ngritura pĂ«r procesorĂ«t nĂ« seancat me emra tĂ« veçantĂ« MPRIS (Specifikimi pĂ«r NdĂ«rfaqen Remote tĂ« LojtarĂ«ve tĂ« Medias).
- Në utilitarët e komandës janë ofruar informacionet mbi përdorimin e runtime-zhvillimeve të skaduara.
- Në komandën uninstall është realizuar një kërkesë konfirmimi para fshirjes së runtime ose runtime-zhvillimeve që ende po përdoren.
- NĂ« komandat si "flatpak run" Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionin "âsocket=gpg-agent".
- Në libostree është zgjidhur një dobësi që mundëson përdoruesit të fshijë skedarë të rastësishëm në sistem përmes manipulimeve me trajtuesin flatpak-system-helper (duke dërguar një kërkesë për fshirje me një emër dege të posaçëm). Problemi shfaqet vetëm në versionet e vjetra të Flatpak dhe libostree, të lëshuara para vitit 2018 (< 0.10.2), dhe nuk ndikon në versionet aktuale.
Të kujtojmë se Flatpak ofron zhvilluesve të aplikacioneve mundësinë për të thjeshtësuar shpërndarjen e programeve të tyre që nuk janë pjesë e depozitave standarde të distribucioneve përmes përgatitjes së një konteineri universitar pa krijimin e grumbujve të veçantë për çdo distribucion. Përdoruesve që janë të shqetësuar për sigurinë, Flatpak u lejon të ekzekutojnë një aplikacion të dyshimtë në një konteiner, duke ofruar qasje vetëm në funksionet e rrjetit dhe skedarët e përdoruesit që lidhen me aplikacionin. Përdoruesve që janë të interesuar për risitë, Flatpak u lejon të instalojnë versionet më të reja dhe stabile të aplikacioneve pa pasur nevojë të bëjnë ndërrime në sistem. Për shembull, paketat Flatpak janë ndërtuar për LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio etj.
Për të zvogëluar madhësinë e paketës, ajo përfshin vetëm varësitë specifike për aplikacionin, ndërsa bibliotekat bazë sistemore dhe grafike (GTK, Qt, bibliotekat GNOME dhe KDE etj.) janë të organizuara si runtime-ambiente tipike të lidhura. Dallimi kryesor mes Flatpak dhe Snap është se Snap përdor komponetë të mjedisit kryesor të sistemit dhe izolimin në bazë të filtrimit të thirrjeve sistemore, ndërsa Flatpak krijon një konteiner të veçantë nga sistemi dhe operon me grupe të mëdha runtime, duke ofruar si varësi jo paketa, por njëmend ambiente sistemore tipike (për shembull, të gjitha bibliotekat e nevojshme për të punuar me programet GNOME ose KDE).
Përveç mjedisit të zakonshëm sistemor (runtime), i cili instalohet përmes një repository të veçantë, ofrohen varësi shtesë (bundle) të nevojshme për funksionimin e aplikacionit. Në total, runtime dhe bundle formojnë përmbajtjen e kontejnerit, ndërkohë që runtime instalohet veçmas dhe lidhët menjëherë me disa kontejnerë, gjë që eviton riprodhimin e skedarëve sistemorë të përbashkët për kontejnerët. Në një sistem mund të instalohen disa runtime të ndryshme (GNOME, KDE) ose disa versione të një runtime (GNOME 3.40, GNOME 3.42). Një kontejner me aplikacionin si varësi përdor lidhjen vetëm me një runtime të caktuar, pa marrë parasysh paketat e veçanta nga të cilat përbëhet runtime. Të gjithë elementët e munguar paketohen drejtpërdrejt me aplikacionin. Kur formohet kontejneri, përmbajtja e runtime montohen si një ndarje /usr, dhe bundle montohen në drejtorinë /app.
Përmbajtja e runtime dhe kontejnerëve të aplikacioneve formohet duke përdorur teknologjinë OSTree, e cila lejon përditësimin atomik të imazhit nga një depo si Git, duke mundësuar përdorimin e metodave të kontrollit të versioneve për komponentët e distribuimit (për shembull, mund të kthehet shpejt sistemi në një gjendje të kaluar). Paketat RPM transkriptohen në depo OSTree përmes një shtrese të veçantë rpm-ostree. Instalimi dhe përditësimi i paketave brenda mjedisit të punës nuk mbështetet, sistemi përditësohet jo në nivelin e komponenteve të veçanta, por plotësisht, duke ndryshuar atomikisht gjendjen e tij. Ofrohen mjete për aplikimin incremental të përditësimeve, duke hequr nevojën për zëvendësimin e plotë të imazhit për çdo përditësim.
Mjedisi i formuar i izoluar është plotësisht i pavarur nga distribuimi që përdoret dhe me konfigurimet e duhura të paketës nuk ka qasje në skedarët dhe proceset e përdoruesit ose të sistemit themelor, nuk mund të qaset drejtpërdrejt në pajisjet, përveç daljes përmes DRI, dhe aksesit në nën-sistemin rrjetor. Dalja e grafikës dhe organizimi i hyrjes realizohen përmes protokollit Wayland ose përmes kalimit të soketeve X11. Ndërveprimi me mjedisin e jashtëm është i bazuar në sistemin e shkëmbimit të mesazheve DBus dhe një API të veçantë Portals.
Për izolimin përdoret një shtresë Bubblewrap dhe teknologji tradicionale të virtualizimit të kontejnerëve për Linux, të bazuara në përdorimin e cgroups, hapësirave të emrave (namespaces), Seccomp dhe SELinux. Për daljen e tingujve përdoret PulseAudio. Në këtë rast, izolimi mund të çaktivizohet, gjë që shfrytëzohet nga zhvilluesit e shumë paketimeve të njohura për të siguruar akses të plotë në sistemin e skedarëve dhe të gjithë pajisjet në sistem. Për shembull, pakot GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity dhe VLC vijnë me një mod të kufizuar të izolimit, që lë akses të plotë në katalogun e shtëpisë. Në rastin e kompromitimit të paketeve me akses në katalogun e shtëpisë, pavarësisht nga prania e etiketës "sandboxed" në përshkrimin e paketës, një sulmuesi mjafton të ndryshojë skedarin ~/.
Burimi: opennet.ru
