Lëshimi i sistemit të pakove të vetë-mjaftueshme Flatpak 1.18.0

Pas një vit e gjysmë zhvillimi, është publikuar dega e re e stabilizuar e veglave Flatpak 1.18, e cila ofron një sistem për ndërtimin e pakove të vetë-mjaftueshme, të pa lidhura me distribucione të caktuara Linux dhe që ekzekutohen në një kontejner të veçantë, duke izoluara aplikacionin nga sistemi tjetër. Mbështetje për ekzekutimin e pakove Flatpak është siguruar për Fedora, CentOS, Debian, Arch Linux, Gentoo, Linux Mint, Alt Linux dhe Ubuntu. Paketat me Flatpak janë përfshirë në repositorin e Fedora dhe mbështeten në programet e menaxhimit të aplikacioneve GNOME dhe KDE.

Risitet kryesore në degen Flatpak 1.18:

  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r autorizimet kushtore (conditional permission), tĂ« cilat lejojnĂ« qĂ« gjatĂ« kĂ«rkesĂ«s pĂ«r autorizim tĂ« verifikohet prania e mundĂ«sive tĂ« caktuara nĂ« sistem apo nĂ« runtime. PĂ«r shembull, nĂ« rast se kĂ«rkohet qasje nĂ« pajisjen e hyrjes, nĂ« vend tĂ« "—device=all" mund tĂ« kĂ«rkohet autorizimi "—device-if=all:!has-input-device —device=input", i cili do tĂ« ofrojĂ« akses vetĂ«m nĂ« pajisjet e hyrjes ose do tĂ« kthehet nĂ« akses nĂ« tĂ« gjitha pajisjet nĂ«se ofrimi i pĂ«rzgjedhur i aksesit nuk mbĂ«shtetet nĂ« runtime. Po ashtu, mund tĂ« kĂ«rkohet qasje nĂ« pajisjet USB ("has-usb-device" dhe "has-usb-portal") ose nĂ« nĂ«n-sistemet e ndara.
  • ËshtĂ« lejuar qasje nĂ« pajisjen /dev/ntsync pĂ«r t'u lidhur me
    modulin e kernelit NTSYNC, i cili implementon një set primitivash për sinkronizimin, të përdorura në kernelin Windows NT dhe që lejojnë një rritje të ndjeshme të performancës së lojërave Windows, që ekzekutohen përmes Wine.
  • PĂ«r GPU Intel Xe Ă«shtĂ« pĂ«rfshirĂ« mbĂ«shtetje pĂ«r API VA-API pĂ«r pĂ«rshpejtimin hardueror tĂ« dekodimit tĂ« videove.
  • ËshtĂ« realizuar mundĂ«sia e qasjes nĂ« pajisjen /dev/kfd (Kernel Fusion Driver) duke pĂ«rdorur autorizimet e ofruara pĂ«r pajisjet DRI. Drejtori kfd implementon njĂ« ndĂ«rfaqe pĂ«r ekzekutimin e drejtpĂ«rdrejtĂ« tĂ« llogaritjeve nĂ« GPU-nĂ« AMD nga aplikacione qĂ« pĂ«rdorin AMD ROCm, HIP dhe OpenCL.
  • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e opsioneve tĂ« komandĂ«s pĂ«r kalimin e aksesit nĂ« katalogĂ« nĂ« aplikacionet e izoluara.
  • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r katalogun "preinstall.d", qĂ« pĂ«rcakton listĂ«n e aplikacioneve Flatpak tĂ« parainstaluara (pĂ«rfshirĂ« aplikacionet Flatpak nĂ« sistemin operativ).
  • ËshtĂ« lejuar instalimi direkt i aplikacioneve nga imazhet e kontejnerĂ«ve nĂ« formatin OCI, tĂ« cilat mund tĂ« shkarkohen nga repositorĂ«t e tyre OCI dhe arkivat lokale.
  • NĂ« komandĂ«n "flatpak install —from" Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r URI-nĂ« "flatpak+https://".
  • Opcioni «—clear-env» Ă«shtĂ« shtuar nĂ« komandĂ«n «flatpak run» pĂ«r tĂ« pastruar variablat e mjedisit para nisjes sĂ« aplikacionit.
  • Ofrohet mundĂ«sia pĂ«r tĂ« eksportuar katalogun rrĂ«njĂ«sor tĂ« mjedisit tĂ« host-it nĂ« njĂ« mjedis tĂ« izoluar aplikacioni, me akses pĂ«rmes katalogut /run/host/root.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r tĂ« nxjerrĂ« rezultatin e ekzekutimit tĂ« komandave nĂ« formatin JSON.
  • Izolimi i mjedisit tĂ« ndĂ«rtimit Ă«shtĂ« pĂ«rforcuar — komanda «flatpak build» tani nuk ofron akses nĂ« host nĂ« mĂ«nyrĂ« default.
  • ËshtĂ« shtuar komanda «reinstall» pĂ«r riinstalimin e varĂ«sive (bundle).
  • Konfigurimet e D-Bus janĂ« transferuar me default nga katalogu /etc nĂ« /usr.
  • Koha e nisjes Ă«shtĂ« shkurtar kur pĂ«rdoret interpretorin e komandave fish.
  • NĂ« libflatpak Ă«shtĂ« shtuar njĂ« funksion pĂ«r tĂ« marrĂ« informacion mbi kohĂ«n e krijimit tĂ« konfigurimit, duke lejuar aplikacioneve si GNOME Software tĂ« pĂ«rcaktojnĂ« se tĂ« dhĂ«nat e ruajtura prej tyre kĂ«rkojnĂ« pĂ«rditĂ«sim.
  • Opcioni i ndĂ«rtimit http_backend Ă«shtĂ« hequr, ndĂ«rsa pĂ«r ngarkimin nĂ«pĂ«rmjet HTTP/HTTPS Ă«shtĂ« pĂ«rdorur biblioteka libcurl nĂ« vend tĂ« libsoup2.
  • Me default Ă«shtĂ« aktivizuar pĂ«rdorimi i sekuencave escape pĂ«r tĂ« treguar pĂ«rparimin e ekzekutimit tĂ« operacionit.
  • Lejohet kalimi i tĂ« drejtave tĂ« aksesit tĂ« pajisjeve nĂ« mjediset sandbox tĂ« ngulitura qĂ« krijohen pĂ«rmes portaleve Flatpak.
  • PĂ«r alkalmazionet e ofruara nĂ« formĂ«n e imazheve OCI, Ă«shtĂ« realizuar mekanizmi «extra-data», pĂ«r shembull, qĂ« lejon organizimin e riprodhimit tĂ« videos h.265 nĂ« paketat Flatpak tĂ« Fedora Linux.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r kompresimin e varĂ«sive (OCI bundle) duke pĂ«rdorur algoritmin zstd, i cili kompreson tĂ« dhĂ«nat mĂ« efikasht. Me default, kompresimi vazhdon tĂ« pĂ«rdorĂ« gzip, i cili siguron maksimumin e pĂ«rputhshmĂ«risĂ«.

Flatpak thjeshton shpërndarjen e programeve që nuk janë në depozitë të zakonshme të distribucioneve, duke përgatitur një kontejner universal, duke e shpëtuar zhvilluesin nga nevoja për të krijuar versione të veçanta për çdo distribucion. Përdoruesve që u shqetëson siguria, Flatpak u jep mundësinë të ekzekutojnë aplikacione të dyshimta në një kontejner, duke ofruar qasje selektive vetëm në funksionet e nevojshme të rrjetit dhe skedarët e përdoruesit. Përdoruesve që janë të interesuar për të rejat, Flatpak u lejon të instalojnë versionet më të fundit teste dhe të stabilizuara të aplikacioneve pa pasur nevojë të bëjnë ndryshime në sistem. Për shembull, paketat Flatpak mbulohen për LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Studio etj.

Për të reduktuar madhësinë, në paketë përfshihen vetëm varësi specifike për aplikacionin. Bibliotekat bazë të sistemeve dhe grafike (GTK, Qt, bibliotekat GNOME dhe KDE etj.) ofrohen si runtime të zakonshme. Dallimi kryesor midis Flatpak dhe Snap është se Snap përdor komponentët e mjedisit të sistemit kryesor dhe izolimin në bazë të filtrimit të thirrjeve sistemore, ndërsa Flatpak krijon një kontejner të veçantë nga sistemi dhe operon me grupe të mëdha runtime, duke ofruar si varësi jo paketa, por mjedise të zakonshme sistemore (p.sh., të gjitha bibliotekat e nevojshme për të funksionuar aplikacionet GNOME ose KDE).

PĂ«rveç mjedisit tĂ« zakonshĂ«m sistemor (runtime), i instaluar pĂ«rmes njĂ« depoje speciale, ofrohen varĂ«si shtesĂ« (bundle) qĂ« kĂ«rkohen pĂ«r funksionimin e aplikacionit. NĂ« total, ‘runtime’ dhe ‘bundle’ formojnĂ« pĂ«rmbajtjen e kontejnerit, duke pasur parasysh qĂ« ‘runtime’ instalohet veçmas dhe lidhet menjĂ«herĂ« me disa kontejnerĂ«, gjĂ« qĂ« lejon shmangien e kopjimit tĂ« skedarĂ«ve sistemorĂ« tĂ« zakonshĂ«m pĂ«r kontejnerĂ«t.

NĂ« njĂ« sistem mund tĂ« jenĂ« tĂ« instaluara disa ‘runtime’ tĂ« ndryshme (GNOME, KDE) ose disa versione tĂ« njĂ« ‘runtime’ (GNOME 50, GNOME 49). Kontejneri me aplikacione si varĂ«si pĂ«rdor lidhjen vetĂ«m me njĂ« ‘runtime’ tĂ« caktuar, pa marrĂ« parasysh paketat e veçanta qĂ« formojnĂ« ‘runtime’ e zgjedhur. TĂ« gjitha elementet e humbura paketohen direkt sĂ« bashku me aplikacionin. Kur krijohet kontejneri, pĂ«rmbajtja e ‘runtime’ tĂ« montohet si seksion /usr, ndĂ«rsa ‘bundle’ montohet nĂ« katalogun /app.

PĂ«rmbajtja e ‘runtime’ dhe kontejnerĂ«ve tĂ« aplikacioneve formohet duke pĂ«rdorur teknologjinĂ« OSTree, e cila mundĂ«son pĂ«rditĂ«simin atomar tĂ« imazhit nga njĂ« depo si Git, duke lejuar aplikimin e metodave tĂ« menaxhimit tĂ« versioneve nĂ« komponentĂ«t e shpĂ«rndarjes (p.sh., mund tĂ« kthehet shpejt sistemi nĂ« njĂ« gjendje tĂ« kaluar). Paketat RPM konvertohen nĂ« depo OSTree pĂ«rmes njĂ« shtrese rpm-ostree.

Instalimi selektiv dhe përditësimi i paketeve brenda mjedisit të punës nuk mbështetet - sistemi përditësohet jo në nivelin e komponentëve të veçantë, por si një e tërë, duke ndërruar atomarisht gjendjen e tij. Ofrohen mjete për aplikimin incremental të përditësimeve, duke eliminuar nevojën për zëvendësimin e plotë të imazhit me çdo përditësim.

Mjedisi i izoluar i formuar nuk varet nga distribucioni i përdorur dhe me konfigurimin e duhur të paketës nuk ka qasje në skedarët dhe proceset e përdoruesit ose të sistemit kryesor, as nuk mund të qaset direkt në pajisje, përveç daljes përmes DRI. Dalja grafike dhe organizimi i hyrjes realizohen përmes protokollit Wayland ose përmes kalimit të soketëve X11. Interaksioni me mjedisin e jashtëm ndodhet përmes sistemit të shkëmbimeve të mesazheve DBus dhe një API të veçantë të Portals.

Për izolim përdoret një shtresë Bubblewrap dhe teknologjitë tradicionale të virtualizimit të kontejnerëve për Linux, të bazuara në përdorimin e cgroups, hapësirave të emrave (namespaces), Seccomp dhe SELinux. Kur krijohet një paketë, izolimi mund të zhvillohet, nga e cila përfitojnë zhvilluesit e disa paketave për të marrë qasje të plotë në sistemin e skedarëve (FS) dhe në të gjitha pajisjet në sistem.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster