Lëshimi i sistemit të paketave të pavarura Flatpak 1.18.0

Pas një dhe gjysmë vitesh zhvillimi, është publikuar dega e re stabile e mjetit Flatpak 1.18, e cila ofron një sistem për ndërtimin e pakove të pavarura, të pa lidhura me distro të caktuara Linux, dhe që ekzekutohen në një kontejner të veçantë, i cili izolon aplikacionin nga pjesa tjetër e sistemit. Mbështetja për ekzekutimin e pakove Flatpak është siguruar për Fedora, CentOS, Debian, Arch Linux, Gentoo, Linux Mint, Alt Linux dhe Ubuntu. Paketat Flatpak janë përfshirë në depozitimin e Fedora dhe mbështeten nga programet menaxhuese të aplikacioneve GNOME dhe KDE.

Kryesoret në degën Flatpak 1.18:

  • ËshtĂ« implementuar mbĂ«shtetje pĂ«r lejet kushtimore (conditional permission), tĂ« cilat lejojnĂ« verifikimin e disa funksionaliteteve nĂ« sistem ose nĂ« runtime gjatĂ« kĂ«rkimit tĂ« lejeve. PĂ«r shembull, nĂ«se nevojitet qasje nĂ« pajisjen e hyrjes, nĂ« vend tĂ« «—device=all» mund tĂ« kĂ«rkohet leja «—device-if=all:!has-input-device —device=input», e cila do tĂ« ofrojĂ« qasje vetĂ«m pĂ«r pajisjet e hyrjes ose do tĂ« kthehet nĂ« qasje pĂ«r tĂ« gjitha pajisjet nĂ«se ofrimi i selektuar i qasjes nuk mbĂ«shtetet nĂ« runtime. NĂ« tĂ« njĂ«jtĂ«n mĂ«nyrĂ«, mund tĂ« kĂ«rkohet qasje nĂ« pajisjet USB («has-usb-device» dhe «has-usb-portal») ose nĂ« nĂ«n-sistemet e ndara.
  • ËshtĂ« lejuar qasja nĂ« pajisjen /dev/ntsync pĂ«r tĂ« komunikuar me
    modulin e bërthamës NTSYNC, i cili implementon një set primitivash për sinkronizimin e përdorur në bërthamën Windows NT dhe që lejon rritjen e ndjeshme të performancës së lojrave Windows, të cilat ekzekutohen përmes Wine.
  • PĂ«r GPU-nĂ« Intel Xe Ă«shtĂ« aktivizuar mbĂ«shtetja pĂ«r API-nĂ« VA-API pĂ«r pĂ«rshpejtimin harduerik tĂ« dekodimit tĂ« videos.
  • ËshtĂ« realizuar mundĂ«sia e aksesit nĂ« pajisjen /dev/kfd (Kernel Fusion Driver) duke pĂ«rdorur autorizimet e ofruara pĂ«r pajisjet DRI. Shoferi kfd implementon njĂ« ndĂ«rfaqe pĂ«r ekzekutimin e drejtpĂ«rdrejtĂ« tĂ« llogaritjeve nĂ« GPU-tĂ« AMD nga aplikacionet qĂ« pĂ«rdorin AMD ROCm, HIP dhe OpenCL.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e opsioneve tĂ« komandĂ«s nĂ« rresht pĂ«r tĂ« lejuar aksesin nĂ« katalogĂ«t e aplikacioneve tĂ« izoluara.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r katalogun 'preinstall.d', i cili pĂ«rcakton listĂ«n e aplikacioneve Flatpak tĂ« para-instaluara (pĂ«r tĂ« pĂ«rfshirĂ« aplikacione Flatpak nĂ« sistemin operativ).
  • ËshtĂ« lejuar instalimi i drejtpĂ«rdrejtĂ« tĂ« aplikacioneve nga imazhe kontejnerĂ«sh nĂ« formatin OCI, tĂ« cilat mund tĂ« ngarkohen nga repository tĂ« veta OCI dhe arkiva lokale.
  • NĂ« komandĂ«n 'flatpak install —from' Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r URI 'flatpak+https://'.
  • NĂ« komandĂ«n 'flatpak run' Ă«shtĂ« shtuar opsioni '—clear-env' pĂ«r pastrimin e variablave tĂ« ambientit pĂ«rpara se tĂ« filloj aplikacionin.
  • ËshtĂ« ofruar mundĂ«sia pĂ«r eksportimin e katalogut rrĂ«njor tĂ« mjedisit tĂ« hostit nĂ« ambientin e aplikacionit tĂ« izoluar me qasje pĂ«rmes katalogut /run/host/root.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r tĂ« nxjerrĂ« rezultatin e ekzekutimit tĂ« komandave nĂ« formatin JSON.
  • Izolimi i forcuar i ambientit tĂ« ndĂ«rtimit — komandĂ«s «flatpak build» tani nuk i jep akses default nĂ« host.
  • Shtuar komandĂ«n «reinstall» pĂ«r rinstalimin e varĂ«sive (bundle).
  • CilĂ«simet e D-Bus janĂ« transferuar nga katalozi /etc nĂ« /usr si parazgjedhje.
  • Koha e nisjes Ă«shtĂ« shkurtuar kur pĂ«rdoret interpretuese e komandave fish.
  • NĂ« libflatpak Ă«shtĂ« shtuar njĂ« funksion pĂ«r tĂ« marrĂ« informacione rreth kohĂ«s sĂ« krijimit tĂ« konfigurimit, qĂ« i lejon aplikacioneve si GNOME Software tĂ« pĂ«rcaktojnĂ« se tĂ« dhĂ«nat e ruajtura duhet tĂ« pĂ«rditĂ«sohen.
  • KĂ«tu u hoq opsioni i ndĂ«rtimit http_backend, e zĂ«vendĂ«suar me bibliotekĂ«n libcurl pĂ«r ngarkimin pĂ«rmes HTTP/HTTPS nĂ« vend tĂ« libsoup2.
  • PĂ«rdorimi i sekuencave tĂ« arratisjes pĂ«r tĂ« treguar pĂ«rparimin e ekzekutimit tĂ« operacionit Ă«shtĂ« aktivizuar si parazgjedhje.
  • ËshtĂ« lejuar kalimi i tĂ« drejtave tĂ« aksesit nĂ« pajisje nĂ« ambientet sandbox tĂ« brendshme, tĂ« krijuara pĂ«rmes portaleve Flatpak.
  • PĂ«r aplikacionet qĂ« vijnĂ« nĂ« formĂ«n e imazheve OCI, Ă«shtĂ« implementuar mekanizmi «extra-data», pĂ«r shembull, pĂ«r tĂ« mundĂ«suar luajtjen e videove 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, qĂ« comprimon tĂ« dhĂ«nat mĂ« efikasht. NĂ« mĂ«nyrĂ« default pĂ«r kompresim vazhdon tĂ« pĂ«rdoret gzip, qĂ« siguron maksimumin e kompatibilitetit.

Flatpak e thjeshton shpërndarjen e programeve që nuk janë në depozitë të sistemit operativ, duke përgatitur një konteiner universal, që i shpëton zhvilluesit nga nevoja për të krijuar ndarje të veçanta për çdo shpërndarje. Përdoruesve që i intereson siguria, Flatpak u jep mundësinë të ekzekutojnë aplikacione problematike në një konteiner, duke ofruar akses selektiv vetëm në funksionet rrjet dhe skedarët e nevojshëm të përdoruesit. Përdoruesve që janë të interesuar në risitë, Flatpak u mundëson të instalojnë versionet më të reja testuese dhe të stabilizuara të aplikacioneve pa nevojën për të bërë ndryshime në sistem. Për shembull, paketat Flatpak ndërtohen për LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Studio, etj.

Për të zvogëluar madhësinë, në paketë përfshihen vetëm varësitë specifike për aplikacionin. Bibliotekat bazë sistemore dhe grafike (GTK, Qt, bibliotekat GNOME dhe KDE, etj.) ofrohen në formën e runtime-ambienteve tipike të lidhura. Dallimi kryesor midis Flatpak dhe Snap është se Snap përdor komponentët e ambientit të sistemit kryesor dhe izolimin të bazuar në filtrimin e thirrjeve të sistemit, 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 ambiente sistemore tipike (p.sh., të gjitha bibliotekat e nevojshme për funksionimin e programeve GNOME ose KDE).

Përveç ambientit standart sistemor (runtime), i cili instalohet përmes një depoje të veçantë, ofrohen varësi shtesë (bundle), të nevojshme për funksionimin e aplikacionit. Në përmbledhje, "runtime" dhe "bundle" formojnë mbushjen e kontejnerit, duke qenë se "runtime" instalohet veçmas dhe lidhet menjëherë me disa kontejnerë, duke lejuar kështu shmangien e dyfishimit të skedarëve sistemorë të përgjithshëm për kontejnerët.

Në një sistem mund të instalohen disa "runtime" të ndryshme (GNOME, KDE) ose disa versionet e një "runtime" (GNOME 50, GNOME 49). Konteineri me aplikacionin si varësi përdor vetëm një lidhje për "runtime" të caktuar, pa marrë parasysh paketat e veçanta që formojnë "runtime" e përzgjedhur. Të gjitha elementet e munguar paketohen direkt së bashku me aplikacionin. Kur krijohet konteineri, përmbajtja e "runtime" montohet si një ndarje "/usr", ndërsa "bundle" montohet në katalogun "/app".

Përmbajtja e "runtime" dhe konteinerëve të aplikacioneve formohet duke përdorur teknologjinë OSTree, e cila lejon që imazhi të përditësohet në mënyrë atomike nga një depo si Git, duke lejuar që metodat e kontrollit të versionit të aplikohen mbi komponentët e distribucionit (për shembull, është e mundur të rikthehet sistemi shpejt në një gjendje të kaluar). RPM-paketat transliterohen në depozitat OSTree përmes një shtrese rpm-ostree.

Instalimi dhe pĂ«rditĂ«simi selektiv i pakove brenda mjedisit tĂ« punĂ«s nuk mbĂ«shtetet — sistemi pĂ«rditĂ«sohet si njĂ« e tĂ«rĂ«, duke ndryshuar nĂ« mĂ«nyrĂ« atomike gjendjen e tij. Ofrohen mjete pĂ«r zbatimin inkremental tĂ« pĂ«rditĂ«simeve, duke eliminuar nevojĂ«n pĂ«r njĂ« zĂ«vendĂ«sim tĂ« plotĂ« tĂ« imazhit me çdo pĂ«rditĂ«sim.

Mjedisi i izoluar i krijuar nuk varet nga distribucioni që përdoret dhe me konfigurimet e duhura të paketës nuk ka akses në skedarët dhe proceset e përdoruesit ose të sistemit kryesor, as nuk mund të lidhet direkt me pajisjen, përveç daljeve përmes DRI. 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 ndërtuar përmes sistemit të shkëmbimit të mesazheve DBus dhe një API të veçantë Portals.

Për izolimin përdoret shtresa Bubblewrap dhe teknologjitë tradicionale të virtualizimit të kontejnerëve të Linux, të bazuara në përdorimin e cgroups, hapësirave të emrave (namespaces), Seccomp dhe SELinux. Gjatë krijimit të paketës, izolimi mund të ndiqet, të cilën e shfrytëzojnë zhvilluesit e disa paketave për të fituar qasje të plotë në FS dhe të gjitha pajisjet në sistem.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster