Rhyddhau system pecyn hunangynhwysol Flatpak 1.12.0

Mae cangen sefydlog newydd o becyn cymorth Flatpak 1.12 wedi'i gyhoeddi, sy'n darparu system ar gyfer adeiladu pecynnau hunangynhwysol nad ydynt yn gysylltiedig â dosbarthiadau Linux penodol ac yn rhedeg mewn cynhwysydd arbennig sy'n ynysu'r cais o weddill y system. Darperir cefnogaeth ar gyfer rhedeg pecynnau Flatpak ar gyfer Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux a Ubuntu. Mae pecynnau Flatpak wedi'u cynnwys yn ystorfa Fedora ac yn cael eu cefnogi gan y rheolwr cais GNOME brodorol.

Arloesiadau allweddol yng nghangen Flatpak 1.12:

  • Gwell rheolaeth ar amgylcheddau blychau tywod nythu a ddefnyddir yn y pecyn flatpak gyda'r cleient ar gyfer y gwasanaeth cyflwyno gêm Steam. Mewn blychau tywod nythu, caniateir creu hierarchaethau ar wahân o'r cyfeirlyfrau / usr a / app, a ddefnyddir yn Steam i lansio gemau mewn cynhwysydd ar wahân gyda'i raniad ei hun / usr, wedi'i ynysu o'r amgylchedd gyda'r cleient Steam.
  • Mae pob achos pecyn gyda'r un dynodwr cymhwysiad (app-ID) yn rhannu'r cyfeiriaduron /tmp a $XDG_RUNTIME_DIR. Yn ddewisol, gan ddefnyddio'r faner “--allow=per-app-dev-shm”, gallwch chi alluogi'r defnydd o'r cyfeiriadur a rennir /dev/shm.
  • Gwell cefnogaeth i gymwysiadau Rhyngwyneb Defnyddiwr Testun (TUI) fel gdb.
  • Mae gweithrediad cyflymach o'r gorchymyn “tocio ostree” wedi'i ychwanegu at y cyfleustodau build-update-repo, wedi'i optimeiddio ar gyfer gweithio gyda storfeydd yn y modd archif.
  • Mae bregusrwydd CVE-2021-41133 wrth weithredu'r mecanwaith porth, sy'n gysylltiedig â diffyg blocio galwadau system newydd sy'n ymwneud â gosod rhaniadau yn y rheolau seccomp, wedi'i osod. Roedd y bregusrwydd yn caniatáu i'r cais greu blwch tywod nythu i osgoi'r mecanweithiau dilysu “porth” a ddefnyddir i drefnu mynediad at adnoddau y tu allan i'r cynhwysydd.

    O ganlyniad, gallai ymosodwr, trwy berfformio galwadau system sy'n gysylltiedig â mowntio, osgoi'r mecanwaith ynysu blwch tywod a chael mynediad llawn i gynnwys yr amgylchedd gwesteiwr. Dim ond mewn pecynnau sy'n darparu mynediad uniongyrchol i socedi AF_UNIX y gellir manteisio ar y bregusrwydd, fel y rhai a ddefnyddir gan Wayland, Pipewire, a pipewire-pulse. Wrth ryddhau 1.12.0, ni chafodd y bregusrwydd ei ddileu yn llwyr, felly rhyddhawyd diweddariad 1.12.1 yn boeth ar ei sodlau.

Gadewch inni eich atgoffa bod Flatpak yn caniatáu i ddatblygwyr cymwysiadau symleiddio dosbarthiad eu rhaglenni nad ydynt wedi'u cynnwys yn y storfeydd dosbarthu safonol trwy baratoi un cynhwysydd cyffredinol heb greu gwasanaethau ar wahân ar gyfer pob dosbarthiad. Ar gyfer defnyddwyr sy'n ymwybodol o ddiogelwch, mae Flatpak yn caniatáu ichi redeg cymhwysiad amheus mewn cynhwysydd, gan ddarparu mynediad yn unig i'r swyddogaethau rhwydwaith a'r ffeiliau defnyddwyr sy'n gysylltiedig â'r rhaglen. Ar gyfer defnyddwyr sydd â diddordeb mewn cynhyrchion newydd, mae Flatpak yn caniatáu ichi osod y profion diweddaraf a datganiadau sefydlog o gymwysiadau heb fod angen gwneud newidiadau i'r system. Er enghraifft, mae pecynnau Flatpak yn cael eu hadeiladu ar gyfer LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, ac ati.

Er mwyn lleihau maint y pecyn, mae'n cynnwys dibyniaethau cais-benodol yn unig, ac mae'r llyfrgelloedd system sylfaenol a graffeg (llyfrgelloedd GTK, Qt, GNOME a KDE, ac ati) wedi'u cynllunio fel amgylcheddau amser rhedeg safonol plug-in. Y gwahaniaeth allweddol rhwng Flatpak a Snap yw bod Snap yn defnyddio cydrannau amgylchedd y brif system ac ynysu yn seiliedig ar hidlo galwadau system, tra bod Flatpak yn creu cynhwysydd ar wahân i'r system ac yn gweithredu gyda setiau amser rhedeg mawr, gan ddarparu nid pecynnau fel dibyniaethau, ond safonol rhai amgylcheddau system (er enghraifft, pob llyfrgell sy'n angenrheidiol ar gyfer gweithredu rhaglenni GNOME neu KDE).

Yn ychwanegol at yr amgylchedd system safonol (amser rhedeg), wedi'i osod trwy ystorfa arbennig, darperir dibyniaethau ychwanegol (bwndel) sy'n ofynnol ar gyfer gweithredu'r cais. Yn gyfan gwbl, mae amser rhedeg a bwndel yn ffurfio llenwi'r cynhwysydd, er gwaethaf y ffaith bod amser rhedeg yn cael ei osod ar wahân a'i glymu i sawl cynhwysydd ar unwaith, sy'n eich galluogi i osgoi dyblygu ffeiliau system sy'n gyffredin i gynwysyddion. Gall un system gael sawl gwahanol amser rhedeg wedi'u gosod (GNOME, KDE) neu sawl fersiwn o'r un amser rhedeg (GNOME 3.40, GNOME 3.42). Mae cynhwysydd gyda chymhwysiad fel dibyniaeth yn defnyddio rhwymiad i amser rhedeg penodol yn unig, heb gymryd i ystyriaeth y pecynnau unigol sy'n rhan o'r amser rhedeg. Mae'r holl elfennau coll yn cael eu pecynnu'n uniongyrchol gyda'r cais. Pan fydd cynhwysydd yn cael ei ffurfio, mae cynnwys yr amser rhedeg yn cael ei osod fel y rhaniad / usr, ac mae'r bwndel wedi'i osod yn y cyfeiriadur / app.

Mae'r cynwysyddion amser rhedeg a chymhwysiad yn cael eu hadeiladu gan ddefnyddio technoleg OSTree, lle mae'r ddelwedd yn cael ei diweddaru'n atomig o ystorfa debyg i Git, sy'n caniatáu i ddulliau rheoli fersiwn gael eu cymhwyso i'r cydrannau dosbarthu (er enghraifft, gallwch chi rolio'r system yn ôl yn gyflym i a cyflwr blaenorol). Mae pecynnau RPM yn cael eu trosi i gadwrfa OSTree gan ddefnyddio haen rpm-ostree arbennig. Ni chefnogir gosod a diweddaru pecynnau ar wahân o fewn yr amgylchedd gwaith; mae'r system yn cael ei diweddaru nid ar lefel cydrannau unigol, ond yn ei chyfanrwydd, gan newid ei chyflwr yn atomig. Yn darparu offer i gymhwyso diweddariadau yn gynyddrannol, gan ddileu'r angen i ddisodli'r ddelwedd yn llwyr gyda phob diweddariad.

Mae'r amgylchedd ynysig a gynhyrchir yn gwbl annibynnol ar y dosbarthiad a ddefnyddir a, gyda gosodiadau cywir y pecyn, nid oes ganddo fynediad at ffeiliau a phrosesau'r defnyddiwr na'r brif system, ni all gael mynediad uniongyrchol i'r offer, ac eithrio allbwn trwy DRI, a galwadau i is-system y rhwydwaith. Gweithredir trefniadaeth allbwn a mewnbwn graffeg gan ddefnyddio protocol Wayland neu drwy anfon soced X11 ymlaen. Mae rhyngweithio â'r amgylchedd allanol yn seiliedig ar system negeseuon DBus ac API Pyrth arbennig.

Ar gyfer ynysu, defnyddir yr haen Bubblewrap a thechnolegau rhithwiroli cynhwysydd Linux traddodiadol, yn seiliedig ar ddefnyddio cgroups, namespaces, Seccomp a SELinux. Defnyddir PulseAudio i allbynnu sain. Yn yr achos hwn, gellir analluogi ynysu, a ddefnyddir gan ddatblygwyr llawer o becynnau poblogaidd i gael mynediad llawn i'r system ffeiliau a phob dyfais yn y system. Er enghraifft, mae GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, a VLC yn dod â modd ynysu cyfyngedig sy'n gadael mynediad llawn i'r cyfeiriadur cartref.

Os yw pecynnau sydd â mynediad i'r cyfeiriadur cartref yn cael eu peryglu, er gwaethaf presenoldeb y label “blwch tywod” yn nisgrifiad y pecyn, dim ond y ffeil ~/.bashrc y mae angen i'r ymosodwr ei newid i weithredu ei god. Mater ar wahân yw rheoli newidiadau i becynnau ac ymddiriedaeth mewn adeiladwyr pecynnau, nad ydynt yn aml yn gysylltiedig â'r prif brosiect neu ddosbarthiadau.

Ffynhonnell: opennet.ru

Ychwanegu sylw