PaÅ”pietiekamu paku sistēmas izlaiÅ”ana Flatpak 1.14.0

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

Pievieno komentāru