Flatpak 1.12.0 pakete sistema autonomoaren kaleratzea

Flatpak 1.12 tresna-kitaren adar egonkor berri bat argitaratu da, Linux banaketa espezifikoetara lotuta ez dauden pakete autonomoak eraikitzeko sistema eskaintzen duena eta aplikazioa gainerako sistematik isolatzen duen edukiontzi berezi batean exekutatzen duena. Flatpak paketeak exekutatzeko laguntza eskaintzen da Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux eta Ubuntu-rentzat. Flatpak paketeak Fedora biltegian sartzen dira eta jatorrizko GNOME aplikazio-kudeatzaileak onartzen ditu.

Flatpak 1.12 adarreko berrikuntza nagusiak:

  • Flatpak paketean erabiltzen diren habia-kutxa inguruneen kudeaketa hobetu da Steam jokoen entrega zerbitzurako bezeroarekin. Habiaratutako sandboxetan, /usr eta /app direktorioen hierarkia bereiziak sortzea onartzen da, Steam-en erabiltzen dena, bere /usr partizioa duen edukiontzi bereizi batean jokoak abiarazteko, Steam bezeroarekin ingurunetik isolatuta.
  • Aplikazio-identifikatzaile (app-ID) berdina duten pakete-instantzia guztiek /tmp eta $XDG_RUNTIME_DIR direktorioak partekatzen dituzte. Aukeran, "--allow=per-app-dev-shm" marka erabiliz, /dev/shm direktorio partekatuaren erabilera gaitu dezakezu.
  • Testu Erabiltzaile Interfazea (TUI) aplikazioetarako laguntza hobetu da, hala nola gdb.
  • "ostree prune" komandoaren inplementazio azkarragoa gehitu da build-update-repo utilitatean, artxibo moduan biltegiekin lan egiteko optimizatua.
  • Atariko mekanismoaren ezarpenean CVE-2021-41133 ahultasuna konpondu da, seccomp arauetan partizioak muntatzearekin lotutako sistema dei berrien blokeo ezarekin lotutakoa. Zaurgarritasunari esker, aplikazioari habiaratutako hare-kutxa bat sortu zuen edukiontzitik kanpoko baliabideetarako sarbidea antolatzeko erabiltzen diren "atale" egiaztapen-mekanismoak saihesteko.

    Ondorioz, erasotzaile batek, muntaketarekin lotutako sistema-deiak eginez, sandbox isolamendu-mekanismoa saihestu eta ostalari-inguruneko edukietara sarbide osoa lor dezake. Ahultasuna AF_UNIX socketetarako sarbide zuzena duten aplikazioak eskaintzen dituzten paketeetan soilik erabil daiteke, hala nola Wayland, Pipewire eta pipewire-pulse-k erabiltzen dituztenetan. 1.12.0 bertsioan, ahultasuna ez zen guztiz desagerrarazi, beraz, 1.12.1 eguneratzea bere orpoetan kaleratu zen.

Gogora iezaiguzu Flatpak-ek aplikazioen garatzaileei banaketa estandarreko biltegietan sartzen ez diren programen banaketa errazteko aukera ematen diela edukiontzi unibertsal bat prestatuz banaketa bakoitzerako muntaketa bereiziak sortu gabe. Segurtasuna duten erabiltzaileentzat, Flatpak-ek zalantzazko aplikazio bat edukiontzi batean exekutatzeko aukera ematen du, sareko funtzioetarako eta aplikazioarekin lotutako erabiltzaile-fitxategietarako sarbidea soilik emanez. Produktu berrietan interesa duten erabiltzaileentzat, Flatpak-ek aplikazioen azken proba eta bertsio egonkorrak instalatzeko aukera ematen du, sisteman aldaketarik egin beharrik gabe. Adibidez, Flatpak paketeak LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etab.

Paketearen tamaina murrizteko, aplikazioaren menpekotasun espezifikoak baino ez ditu barne hartzen, eta oinarrizko sistema eta liburutegi grafikoak (GTK, Qt, GNOME eta KDE liburutegiak, etab.) plug-in exekuzio-ingurune estandar gisa diseinatuta daude. Flatpak eta Snap-en arteko funtsezko aldea da Snap-ek sistema-ingurune nagusiko osagaiak eta isolamendua erabiltzen dituela sistema-deien iragazketan oinarrituta, eta Flatpak-ek, berriz, sistematik bereizitako edukiontzi bat sortzen du eta exekuzio-denbora multzo handiekin funtzionatzen du, paketeak ez menpekotasun gisa ematen, baizik eta estandar gisa. sistema inguruneak (adibidez, GNOME edo KDE programen funtzionamendurako beharrezkoak diren liburutegi guztiak).

Sistema-ingurune estandarraz gain (exekuzio-denbora), biltegi berezi baten bidez instalatuta, aplikazioaren funtzionamendurako beharrezkoak diren mendekotasun gehigarriak (sorta) hornitzen dira. Guztira, exekuzio-denborak eta sortak edukiontziaren betetzea osatzen dute, nahiz eta exekuzio-denbora bereizita instalatu eta aldi berean hainbat edukiontziri lotuta egon, eta horrek edukiontzietan ohikoak diren sistema-fitxategiak bikoiztea saihesteko aukera ematen du. Sistema batek hainbat exekuzio-denbora desberdin izan ditzake instalatuta (GNOME, KDE) edo exekuzio-denbora beraren hainbat bertsio (GNOME 3.40, GNOME 3.42). Aplikazio bat menpekotasun gisa duen edukiontzi batek exekuzio-denbora zehatz baterako soilik erabiltzen du lotura, exekuzio-denbora osatzen duten pakete indibidualak kontuan hartu gabe. Falta diren elementu guztiak aplikazioarekin zuzenean paketatzen dira. Edukiontzi bat eratzen denean, exekuzio-denborako edukia /usr partizio gisa muntatzen da eta sorta /app direktorioan muntatzen da.

Exekuzio-denbora eta aplikazio-edukiontziak OSTree teknologia erabiliz eraikitzen dira, zeinetan irudia atomikoki eguneratzen den Git antzeko biltegi batetik, eta horri esker bertsio-kontroleko metodoak banaketa osagaietan aplika daitezke (adibidez, sistema azkar itzul dezakezu. aurreko egoera). RPM paketeak OSTree biltegira itzultzen dira rpm-ostree geruza berezi bat erabiliz. Lan-ingurunean paketeen instalazioa eta eguneratzea ez da onartzen; sistema ez da osagai indibidualen mailan eguneratzen, osotasunean baizik, bere egoera atomikoki aldatuz. Eguneraketak pixkanaka aplikatzeko tresnak eskaintzen ditu, eguneraketa bakoitzean irudia guztiz ordezkatzeko beharra ezabatuz.

Sortutako ingurune isolatua guztiz independentea da erabilitako banaketatik eta, paketearen ezarpen egokiekin, ez du erabiltzailearen edo sistema nagusiaren fitxategi eta prozesuetarako sarbidea, ezin du zuzenean ekipamendura sartu, DRI bidezko irteera izan ezik, eta sarearen azpisistemarako deiak. Irteera grafikoaren eta sarreraren antolaketa Wayland protokoloa erabiliz edo X11 socket birbidaltzearen bidez inplementatzen dira. Kanpo ingurunearekiko interakzioa DBus mezularitza sisteman eta Portals API berezi batean oinarritzen da.

Isolatzeko, Bubblewrap geruza eta Linux edukiontzien birtualizazio teknologia tradizionalak erabiltzen dira, cgroups, namespaces, Seccomp eta SELinux-en erabileran oinarrituta. PulseAudio soinua ateratzeko erabiltzen da. Kasu honetan, isolamendua desgaitu daiteke, pakete ezagun askoren garatzaileek fitxategi-sistemarako eta sistemako gailu guztietarako sarbide osoa lortzeko erabiltzen dutena. Adibidez, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity eta VLC isolamendu modu mugatu batekin datoz, hasierako direktoriorako sarbide osoa uzten duena.

Hasierako direktoriorako sarbidea duten paketeak arriskuan jartzen badira, paketeen deskribapenean "sandboxed" etiketa egon arren, erasotzaileak ~/.bashrc fitxategia bakarrik aldatu behar du bere kodea exekutatzeko. Gai aparteko bat paketeen aldaketen kontrola eta paketeen eraikitzaileengan konfiantza izatea da, askotan proiektu edo banaketa nagusiekin lotuta ez daudenak.

Iturria: opennet.ru

Gehitu iruzkin berria