Ir publicÄts jauns stabils Flatpak 1.14 rÄ«ku komplekta atzars, kas nodroÅ”ina sistÄmu autonomu pakotÅu veidoÅ”anai, kas nav piesaistÄ«tas konkrÄtiem Linux izplatÄ«jumiem un darbojas Ä«paÅ”Ä konteinerÄ, kas izolÄ lietojumprogrammu no pÄrÄjÄs sistÄmas. Atbalsts Flatpak pakotÅu palaiÅ”anai tiek nodroÅ”inÄts Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux un Ubuntu. Flatpak pakotnes ir iekļautas Fedora repozitorijÄ, un tÄs atbalsta vietÄjais GNOME lietojumprogrammu pÄrvaldnieks.
Galvenie jauninÄjumi Flatpak 1.14 filiÄlÄ:
- Ir iespÄjams izveidot direktoriju failiem stÄvoklÄ« (.local/state) un iestatÄ«t XDG_STATE_HOME vides mainÄ«go, kas norÄda uz Å”o direktoriju.
- Pievienotas nosacÄ«juma pÄrbaudes formÄ āhave-kernel-module-nameā, lai noteiktu kodola moduļu klÄtbÅ«tni (universÄls analogs iepriekÅ” piedÄvÄtajai have-intel-gpu pÄrbaudei, kuras vietÄ ir izteiciens āhave-kernel-module-i915ā. ātagad var izmantot).
- Ir ieviesta komanda āflatpak document-unexport ādoc-id=ā¦ā.
- Tiek nodroÅ”inÄts Appstream metadatu eksports izmantoÅ”anai galvenajÄ vidÄ.
- Pievienoti Flatpak komandu pabeigŔanas noteikumi Zivju apvalkam
- Ir atļauta piekļuve tīklam X11 un PulseAudio pakalpojumiem (ja ir pievienoti atbilstoŔi iestatījumi).
- GalvenÄ filiÄle Git repozitorijÄ ir pÄrdÄvÄta no āmasterā uz āmainā, jo vÄrds āmasterā nesen tika uzskatÄ«ts par politiski nekorektu.
- Ja lietojumprogramma tiek pÄrdÄvÄta, palaiÅ”anas skripti tagad tiek pÄrrakstÄ«ti.
- InstalÄÅ”anas komandai ir pievienotas opcijas "--include-sdk" un "--include-debug", lai instalÄtu SDK un atkļūdoÅ”anas info failus.
- Ir pievienots atbalsts parametram āDeploySideloadCollectionIDā failiem flatpakref un flatpakrepo. Ja tas ir iestatÄ«ts, kolekcijas ID tiks iestatÄ«ts, pievienojot attÄlo repozitoriju, nevis pÄc metadatu ielÄdes.
- Atļauts izveidot ligzdotas smilÅ”kastes vides apstrÄdÄtÄjiem sesijÄs ar atseviŔķiem MPRIS (Media Player Remote Interfacing Specification) nosaukumiem.
- Komandrindas utilÄ«tas tagad sniedz informÄciju par novecojuÅ”u izpildlaika paplaÅ”inÄjumu izmantoÅ”anu.
- AtinstalÄÅ”anas komanda ievieÅ” apstiprinÄjuma pieprasÄ«jumu, pirms tiek noÅemti izpildlaika vai izpildlaika paplaÅ”inÄjumi, kas joprojÄm tiek izmantoti.
- TÄdas komandas kÄ "flatpak run" tagad atbalsta opciju "--socket=gpg-agent".
- Libostree ir novÄrsta ievainojamÄ«ba, kas potenciÄli var ļaut lietotÄjam dzÄst patvaļīgus failus sistÄmÄ, manipulÄjot ar flatpak-system-helper apdarinÄtÄju (nosÅ«tot dzÄÅ”anas pieprasÄ«jumu ar Ä«paÅ”i formatÄtu filiÄles nosaukumu). ProblÄma parÄdÄs tikai vecÄkÄs Flatpak un libostree versijÄs, kas izlaistas pirms 2018. gada (< 0.10.2), un tÄ neietekmÄ paÅ”reizÄjos laidienus.
AtgÄdinÄsim, ka Flatpak ļauj aplikÄciju izstrÄdÄtÄjiem vienkÄrÅ”ot to programmu izplatÄ«Å”anu, kuras neietilpst standarta izplatÄ«Å”anas krÄtuvÄs, sagatavojot vienu universÄlu konteineru, neveidojot katrai distribÅ«cijai atseviŔķus komplektus. LietotÄjiem, kas apzinÄs droŔību, Flatpak ļauj palaist apÅ”aubÄmu lietojumprogrammu konteinerÄ, nodroÅ”inot piekļuvi tikai ar lietojumprogrammu saistÄ«tajÄm tÄ«kla funkcijÄm un lietotÄja failiem. LietotÄjiem, kurus interesÄ jauni produkti, Flatpak ļauj instalÄt jaunÄkÄs pÄrbaudes un stabilas lietojumprogrammu versijas bez nepiecieÅ”amÄ«bas veikt izmaiÅas sistÄmÄ. PiemÄram, Flatpak pakotnes ir veidotas LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio utt.
Lai samazinÄtu pakotnes lielumu, tajÄ ir iekļautas tikai lietojumprogrammÄm raksturÄ«gÄs atkarÄ«bas, un pamata sistÄmas un grafikas bibliotÄkas (GTK, Qt, GNOME un KDE bibliotÄkas utt.) ir paredzÄtas kÄ spraudÅa standarta izpildlaika vides. GalvenÄ atŔķirÄ«ba starp Flatpak un Snap ir tÄ, ka Snap izmanto galvenÄs sistÄmas vides komponentus un izolÄciju, pamatojoties uz filtrÄÅ”anas sistÄmas izsaukumiem, savukÄrt Flatpak izveido konteineru atseviŔķi no sistÄmas un darbojas ar lielÄm izpildlaika kopÄm, nodroÅ”inot nevis pakotnes kÄ atkarÄ«bas, bet gan standarta. vienas sistÄmas vides (piemÄram, visas bibliotÄkas, kas nepiecieÅ”amas GNOME vai KDE programmu darbÄ«bai).
Papildus standarta sistÄmas videi (izpildlaikam), kas instalÄta, izmantojot Ä«paÅ”u repozitoriju, tiek piegÄdÄtas papildu atkarÄ«bas (pakete), kas nepiecieÅ”amas lietojumprogrammas darbÄ«bai. KopumÄ izpildlaiks un komplekts veido konteinera pildÄ«jumu, neskatoties uz to, ka izpildlaiks tiek instalÄts atseviŔķi un piesaistÄ«ts vairÄkiem konteineriem vienlaikus, kas ļauj izvairÄ«ties no konteineriem kopÄ«gu sistÄmas failu dublÄÅ”anas. Vienai sistÄmai var bÅ«t instalÄti vairÄki dažÄdi izpildlaiki (GNOME, KDE) vai vairÄkas viena un tÄ paÅ”a izpildlaika versijas (GNOME 3.40, GNOME 3.42). Konteiners ar lietojumprogrammu kÄ atkarÄ«bu izmanto saistÄ«Å”anu tikai ar noteiktu izpildlaiku, neÅemot vÄrÄ atseviŔķÄs pakotnes, kas veido izpildlaiku. Visi trÅ«kstoÅ”ie elementi tiek iesaiÅoti tieÅ”i kopÄ ar lietojumprogrammu. Kad konteiners ir izveidots, izpildlaika saturs tiek montÄts kÄ /usr nodalÄ«jums, un komplekts tiek uzstÄdÄ«ts /app direktorijÄ.
Izpildlaika un lietojumprogrammu konteineri ir veidoti, izmantojot OSTree tehnoloÄ£iju, kurÄ attÄls tiek atomiski atjauninÄts no Git lÄ«dzÄ«gas krÄtuves, kas ļauj izmantot versiju kontroles metodes izplatÄ«Å”anas komponentiem (piemÄram, varat Ätri atgriezt sistÄmu uz iepriekÅ”Äjais stÄvoklis). RPM pakotnes tiek tulkotas OSTree repozitorijÄ, izmantojot Ä«paÅ”u rpm-ostree slÄni. AtseviŔķa pakotÅu instalÄÅ”ana un atjauninÄÅ”ana darba vidÄ netiek atbalstÄ«ta, sistÄma tiek atjauninÄta nevis atseviŔķu komponentu lÄ«menÄ«, bet gan kopumÄ, atomiski mainot savu stÄvokli. NodroÅ”ina rÄ«kus, lai pakÄpeniski piemÄrotu atjauninÄjumus, novÄrÅ”ot nepiecieÅ”amÄ«bu pilnÄ«bÄ aizstÄt attÄlu ar katru atjauninÄjumu.
Ä¢enerÄtÄ izolÄtÄ vide ir pilnÄ«bÄ neatkarÄ«ga no izmantotÄ izplatÄ«Å”anas, un ar pareiziem pakotnes iestatÄ«jumiem tai nav piekļuves failiem un lietotÄja vai galvenÄs sistÄmas procesiem, tÄ nevar tieÅ”i piekļūt aprÄ«kojumam, izÅemot izvadi, izmantojot DRI, un zvani uz tÄ«kla apakÅ”sistÄmu. Grafikas izvades un ievades organizÄcija tiek Ä«stenota, izmantojot Wayland protokolu vai izmantojot X11 ligzdas pÄradresÄciju. MijiedarbÄ«ba ar ÄrÄjo vidi ir balstÄ«ta uz DBus ziÅojumapmaiÅas sistÄmu un Ä«paÅ”u PortÄlu API.
IzolÄcijai tiek izmantots Bubblewrap slÄnis un tradicionÄlÄs Linux konteineru virtualizÄcijas tehnoloÄ£ijas, kuru pamatÄ ir cgroups, namespaces, Seccomp un SELinux. PulseAudio tiek izmantots skaÅas izvadÄ«Å”anai. Å ajÄ gadÄ«jumÄ var atspÄjot izolÄciju, ko izmanto daudzu populÄru pakotÅu izstrÄdÄtÄji, lai iegÅ«tu pilnÄ«gu piekļuvi failu sistÄmai un visÄm sistÄmas ierÄ«cÄm. PiemÄram, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity un VLC ir aprÄ«kots ar ierobežotu izolÄcijas režīmu, kas nodroÅ”ina pilnÄ«gu piekļuvi mÄjas direktorijam. Ja pakotnes ar piekļuvi mÄjas direktorijam ir apdraudÄtas, neskatoties uz to, ka pakotnes aprakstÄ ir āsmilÅ”kastesā etiÄ·ete, uzbrucÄjam ir jÄmaina tikai fails ~/.bashrc, lai izpildÄ«tu savu kodu. AtseviŔķs jautÄjums ir pakotÅu izmaiÅu kontrole un uzticÄÅ”anÄs pakotÅu veidotÄjiem, kuri bieži vien nav saistÄ«ti ar galveno projektu vai izplatÄ«Å”anu.
Avots: opennet.ru