Kutolewa kwa mfumo wa kifurushi unaojitosheleza wa Flatpak 1.12.0

Tawi jipya thabiti la zana ya zana ya Flatpak 1.12 limechapishwa, ambalo linatoa mfumo wa kujenga vifurushi vinavyojitosheleza ambavyo havijafungamanishwa na usambazaji maalum wa Linux na kuendeshwa katika chombo maalum kinachotenganisha programu kutoka kwa mfumo mzima. Msaada wa kuendesha vifurushi vya Flatpak hutolewa kwa Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux na Ubuntu. Vifurushi vya Flatpak vimejumuishwa kwenye hazina ya Fedora na vinasaidiwa na msimamizi wa maombi asilia wa GNOME.

Ubunifu muhimu katika tawi la Flatpak 1.12:

  • Udhibiti ulioboreshwa wa mazingira ya sanduku la mchanga linalotumika kwenye kifurushi cha flatpak na mteja kwa huduma ya utoaji wa mchezo wa Steam. Katika visanduku vya mchanga vilivyowekwa kiota, uundaji wa safu tofauti za saraka za /usr na /programu inaruhusiwa, ambayo hutumiwa katika Steam kuzindua michezo kwenye kontena tofauti na kizigeu chake /usr, kilichotengwa na mazingira na mteja wa Steam.
  • Matukio yote ya vifurushi vilivyo na kitambulisho sawa cha programu (kitambulisho cha programu) hushiriki saraka /tmp na $XDG_RUNTIME_DIR. Kwa hiari, kwa kutumia bendera ya "--allow=per-app-dev-shm", unaweza kuwezesha matumizi ya saraka /dev/shm iliyoshirikiwa.
  • Usaidizi ulioboreshwa kwa programu za Kiolesura cha Mtumiaji wa Maandishi (TUI) kama vile gdb.
  • Utekelezaji wa haraka wa amri ya "ostree prune" umeongezwa kwa matumizi ya build-update-repo, iliyoboreshwa kwa ajili ya kufanya kazi na hazina katika hali ya kumbukumbu.
  • Udhaifu wa CVE-2021-41133 katika utekelezaji wa utaratibu wa lango, unaohusishwa na kukosekana kwa uzuiaji wa simu za mfumo mpya zinazohusiana na uwekaji wa sehemu katika sheria za seccomp, umewekwa. Athari hii iliruhusu programu kuunda sanduku la mchanga lililowekwa kiota ili kukwepa mbinu za uthibitishaji za "lango" ambazo hutumika kupanga ufikiaji wa rasilimali nje ya kontena.

    Kwa hivyo, mshambulizi, kwa kupiga simu za mfumo zinazohusiana na kupachika, anaweza kukwepa utaratibu wa kutenganisha kisanduku cha mchanga na kupata ufikiaji kamili wa maudhui ya mazingira ya seva pangishi. Athari hii inaweza kutumika tu katika vifurushi vinavyotoa programu ufikiaji wa moja kwa moja kwa soketi za AF_UNIX, kama vile zinazotumiwa na Wayland, Pipewire, na pipewire-pulse. Katika toleo la 1.12.0, udhaifu haukuondolewa kabisa, hivyo sasisho 1.12.1 ilitolewa moto juu ya visigino vyake.

Hebu tukumbushe kwamba Flatpak inaruhusu watengenezaji wa programu kurahisisha usambazaji wa programu zao ambazo hazijumuishwa kwenye hifadhi za kawaida za usambazaji kwa kuandaa chombo kimoja cha ulimwengu wote bila kuunda makusanyiko tofauti kwa kila usambazaji. Kwa watumiaji wanaojali usalama, Flatpak hukuruhusu kuendesha programu isiyo na shaka kwenye kontena, ikitoa ufikiaji wa vitendaji vya mtandao na faili za watumiaji zinazohusiana na programu tu. Kwa watumiaji wanaovutiwa na bidhaa mpya, Flatpak hukuruhusu kusakinisha jaribio la hivi punde na matoleo thabiti ya programu bila hitaji la kufanya mabadiliko kwenye mfumo. Kwa mfano, vifurushi vya Flatpak vimeundwa kwa ajili ya LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, nk.

Ili kupunguza ukubwa wa kifurushi, inajumuisha tu vitegemezi mahususi vya programu, na mfumo msingi na maktaba za michoro (maktaba za GTK, Qt, GNOME na KDE, n.k.) zimeundwa kama mazingira ya kawaida ya programu-jalizi. Tofauti kuu kati ya Flatpak na Snap ni kwamba Snap hutumia vifaa vya mazingira kuu ya mfumo na kutengwa kwa msingi wa simu za mfumo wa kuchuja, wakati Flatpak huunda kontena tofauti na mfumo na hufanya kazi na seti kubwa za wakati wa kukimbia, kutoa sio vifurushi kama utegemezi, lakini kiwango. mazingira ya mfumo (kwa mfano, maktaba zote zinazohitajika kwa uendeshaji wa programu za GNOME au KDE).

Mbali na mazingira ya kawaida ya mfumo (wakati wa kukimbia), imewekwa kwa njia ya hifadhi maalum, tegemezi za ziada (kifungu) zinazohitajika kwa uendeshaji wa maombi hutolewa. Kwa jumla, wakati wa kukimbia na kifungu huunda kujaza kwa chombo, licha ya ukweli kwamba wakati wa kukimbia umewekwa tofauti na umefungwa kwenye vyombo kadhaa mara moja, ambayo inakuwezesha kuepuka kurudia faili za mfumo zinazojulikana kwa vyombo. Mfumo mmoja unaweza kuwa na nyakati tofauti tofauti za kutekelezwa (GNOME, KDE) au matoleo kadhaa ya wakati ule ule wa kukimbia (GNOME 3.40, GNOME 3.42). Chombo kilicho na programu kama tegemezi hutumia ufungaji kwa muda maalum wa utekelezaji pekee, bila kuzingatia vifurushi maalum vinavyounda muda wa utekelezaji. Vipengele vyote vilivyokosekana huwekwa moja kwa moja na programu. Chombo kinapoundwa, maudhui ya wakati wa utekelezaji huwekwa kama kizigeu cha /usr, na kifurushi huwekwa kwenye saraka ya programu.

Vyombo vya muda wa matumizi na matumizi vinajengwa kwa kutumia teknolojia ya OSTree, ambamo picha hiyo inasasishwa kiatomi kutoka kwenye hazina inayofanana na Git, ambayo inaruhusu mbinu za udhibiti wa toleo kutumika kwa vipengele vya usambazaji (kwa mfano, unaweza kurejesha mfumo kwa haraka. hali iliyopita). Vifurushi vya RPM vinatafsiriwa kwenye hazina ya OSTree kwa kutumia safu maalum ya rpm-ostree. Ufungaji tofauti na usasishaji wa vifurushi ndani ya mazingira ya kufanya kazi hauhimiliwi; mfumo haujasasishwa sio kwa kiwango cha vifaa vya mtu binafsi, lakini kwa ujumla, kubadilisha hali yake ya atomiki. Hutoa zana za kutumia masasisho mara kwa mara, ikiondoa hitaji la kubadilisha kabisa picha kwa kila sasisho.

Mazingira yaliyotengwa yanajitegemea kabisa kwa usambazaji unaotumiwa na, kwa mipangilio sahihi ya kifurushi, haina ufikiaji wa faili na michakato ya mtumiaji au mfumo mkuu, haiwezi kupata vifaa moja kwa moja, isipokuwa pato kupitia DRI, na simu kwa mfumo mdogo wa mtandao. Utoaji wa picha na mpangilio wa ingizo hutekelezwa kwa kutumia itifaki ya Wayland au kupitia usambazaji wa soketi za X11. Mwingiliano na mazingira ya nje unategemea mfumo wa ujumbe wa DBus na API maalum ya Tovuti.

Kwa kutengwa, safu ya Bubblewrap na teknolojia ya uenezaji ya kontena za jadi za Linux hutumiwa, kulingana na matumizi ya vikundi, nafasi za majina, Seccomp na SELinux. PulseAudio inatumika kutoa sauti. Katika kesi hii, kutengwa kunaweza kuzimwa, ambayo hutumiwa na watengenezaji wa vifurushi vingi maarufu ili kupata ufikiaji kamili wa mfumo wa faili na vifaa vyote kwenye mfumo. Kwa mfano, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, na VLC huja na hali finyu ya kujitenga ambayo huacha ufikiaji kamili wa saraka ya nyumbani.

Ikiwa vifurushi vilivyo na ufikiaji wa saraka ya nyumbani vitaingiliwa, licha ya uwepo wa lebo ya "sandboxed" katika maelezo ya kifurushi, mvamizi anahitaji tu kubadilisha ~/.bashrc faili ili kutekeleza msimbo wake. Suala tofauti ni udhibiti wa mabadiliko ya vifurushi na uaminifu kwa wajenzi wa vifurushi, ambao mara nyingi hawahusiani na mradi kuu au usambazaji.

Chanzo: opennet.ru

Kuongeza maoni