Release fan it systeem fan selsstannige pakketten Flatpak 1.12.0

In nije stabile tûke fan 'e Flatpak 1.12 toolkit is publisearre, dy't in systeem leveret foar it bouwen fan selsstannige pakketten dy't net bûn binne oan spesifike Linux-distribúsjes en rinne yn in spesjale kontener dy't de applikaasje isolearret fan 'e rest fan it systeem. Stipe foar it útfieren fan Flatpak-pakketten wurdt levere foar Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux en Ubuntu. Flatpak-pakketten binne opnommen yn it Fedora-repository en wurde stipe troch de native GNOME-applikaasjebehearder.

Wichtige ynnovaasjes yn 'e Flatpak 1.12-tûke:

  • Ferbettere behear fan nestele sânbox-omjouwings brûkt yn it flatpak-pakket mei de kliïnt foar de Steam-spielleveringstsjinst. Yn geneste sânbakken is it oanmeitsjen fan aparte hiërargyen fan 'e /usr- en /app-mappen tastien, dy't brûkt wurdt yn Steam om spultsjes te starten yn in aparte kontener mei in eigen /usr-partysje, isolearre fan 'e omjouwing mei de Steam-kliïnt.
  • Alle pakket eksimplaren mei deselde applikaasje identifier (app-ID) diele de mappen /tmp en $XDG_RUNTIME_DIR. Opsjoneel, mei de flagge "--allow=per-app-dev-shm" kinne jo it gebrûk fan 'e /dev/shm dielde map ynskeakelje.
  • Ferbettere stipe foar Text User Interface (TUI) applikaasjes lykas gdb.
  • In rappere ymplemintaasje fan it kommando "ostree prune" is tafoege oan it build-update-repo-hulpprogramma, optimalisearre foar wurkjen mei repositories yn argyfmodus.
  • De kwetsberens CVE-2021-41133 yn 'e ymplemintaasje fan it portalmeganisme, ferbûn mei it ûntbrekken fan blokkearjen fan nije systeemoproppen yn ferbân mei it montearjen fan partysjes yn' e seccomp-regels, is reparearre. De kwetsberens koe de applikaasje in nestele sânbak meitsje om de "portaal" ferifikaasjemeganismen te omgean dy't wurde brûkt om tagong te organisearjen ta boarnen bûten de kontener.

    As gefolch koe in oanfaller, troch it útfieren fan mounting-relatearre systeemoproppen, it sânbox-isolaasjemeganisme omgean en folsleine tagong krije ta de ynhâld fan 'e hostomjouwing. De kwetsberens kin allinich brûkt wurde yn pakketten dy't applikaasjes leverje mei direkte tagong ta AF_UNIX-sockets, lykas dy brûkt troch Wayland, Pipewire, en pipewire-pulse. Yn release 1.12.0 waard de kwetsberens net folslein elimineare, dus update 1.12.1 waard frijlitten hjit op 'e hakken.

Lit ús jo herinnerje dat Flatpak applikaasje-ûntwikkelders makket om de ferdieling fan har programma's te ferienfâldigjen dy't net binne opnommen yn 'e standert distribúsjebewarplakken troch ien universele kontener te meitsjen sûnder aparte assemblies foar elke distribúsje te meitsjen. Foar feiligensbewuste brûkers lit Flatpak jo in twifele applikaasje útfiere yn in kontener, wêrtroch tagong allinich tagong jout ta de netwurkfunksjes en brûkersbestannen dy't ferbûn binne mei de applikaasje. Foar brûkers dy't ynteressearre binne yn nije produkten, lit Flatpak jo de lêste test en stabile releases fan applikaasjes ynstallearje sûnder de needsaak om wizigingen oan it systeem te meitsjen. Bygelyks, Flatpak-pakketten binne boud foar LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, ensfh.

Om de pakketgrutte te ferminderjen, befettet it allinich applikaasje-spesifike ôfhinklikens, en de basissysteem- en grafyske bibleteken (GTK, Qt, GNOME en KDE biblioteken, ensfh.) binne ûntwurpen as plug-in standert runtime omjouwings. It wichtichste ferskil tusken Flatpak en Snap is dat Snap de komponinten fan 'e haadsysteemomjouwing en isolaasje brûkt op basis fan filtersysteemoproppen, wylst Flatpak in kontener apart makket fan it systeem en wurket mei grutte runtime-sets, en leveret gjin pakketten as ôfhinklikens, mar standert ien systeemomjouwing (bygelyks alle bibleteken dy't nedich binne foar de wurking fan GNOME- of KDE-programma's).

Neist de standert systeemomjouwing (runtime), ynstalleare fia in spesjale repository, wurde ekstra ôfhinklikens (bondel) nedich foar de wurking fan 'e applikaasje. Yn totaal foarmje runtime en bondel it ynfoljen fan 'e kontener, nettsjinsteande it feit dat runtime apart is ynstalleare en tagelyk oan ferskate konteners bûn, wêrtroch jo it duplikearjen fan systeembestannen kinne foarkomme dy't mienskiplik binne foar konteners. Ien systeem kin ferskate ferskillende runtimes ynstalleare hawwe (GNOME, KDE) of ferskate ferzjes fan deselde runtime (GNOME 3.40, GNOME 3.42). In kontener mei in applikaasje as ôfhinklikens brûkt in bining allinich foar in spesifike runtime, sûnder rekken te hâlden mei de yndividuele pakketten dy't de runtime foarmje. Alle ûntbrekkende eleminten wurde direkt mei de applikaasje ferpakt. As in kontener wurdt foarme, wurdt de runtime-ynhâld monteare as de / usr-partysje, en de bondel wurdt monteard yn 'e / app-map.

De runtime- en applikaasjekonteners binne boud mei OSTree-technology, wêryn it byld atomysk bywurke wurdt fan in Git-like repository, wêrtroch ferzjekontrôlemetoaden kinne wurde tapast op de distribúsjekomponinten (jo kinne bygelyks it systeem fluch weromdraaie nei in foarige steat). RPM-pakketten wurde oerset yn it OSTree-repository mei in spesjale rpm-ostree-laach. Aparte ynstallaasje en bywurking fan pakketten binnen de wurkomjouwing wurdt net stipe; it systeem wurdt net bywurke op it nivo fan yndividuele komponinten, mar as gehiel, atomysk feroaret syn steat. Biedt ark om updates ynkrementeel oan te passen, elimineert de needsaak om de ôfbylding folslein te ferfangen mei elke update.

De generearre isolearre omjouwing is folslein ûnôfhinklik fan 'e brûkte distribúsje en hat, mei juste ynstellings fan it pakket, gjin tagong ta bestannen en prosessen fan 'e brûker as it haadsysteem, kin net direkt tagong krije ta de apparatuer, mei útsûndering fan útfier fia DRI, en ropt nei it netwurk subsysteem. Grafike útfier en ynfier organisaasje wurde ymplemintearre mei help fan it Wayland protokol of fia X11 socket trochstjoere. Ynteraksje mei de eksterne omjouwing is basearre op it DBus-berjochtensysteem en in spesjale Portals API.

Foar isolaasje wurde de Bubblewrap-laach en tradisjonele Linux-container-virtualisaasjetechnologyen brûkt, basearre op it gebrûk fan cgroups, namespaces, Seccomp en SELinux. PulseAudio wurdt brûkt om lûd út te fieren. Yn dit gefal kin isolaasje útskeakele wurde, dat wurdt brûkt troch de ûntwikkelders fan in protte populêre pakketten om folsleine tagong te krijen ta it bestânsysteem en alle apparaten yn it systeem. Bygelyks, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, en VLC komme mei in beheinde isolaasjemodus dy't folsleine tagong lit ta de thúsmap.

As pakketten mei tagong ta de thúsmap kompromittearre binne, nettsjinsteande de oanwêzigens fan it "sandboxed" label yn 'e pakketbeskriuwing, hoecht de oanfaller allinich it ~/.bashrc-bestân te feroarjen om syn koade út te fieren. In apart probleem is de kontrôle fan wizigingen oan pakketten en fertrouwen yn pakketbouwers, dy't faak net ferbûn binne mei it haadprojekt of distribúsjes.

Boarne: opennet.ru

Add a comment