Flatpak 1.14.0 iseseisvate pakettide rakenduse versioon

Avaldatud on uus stabiilne versioon tööriistakastist Flatpak 1.14, mis pakub süsteemi isevarustavate pakettide koostamiseks, mis ei ole seotud konkreetsete Linuxi distributsioonidega ja töötavad spetsiaalses konteineris, mis eraldab rakenduse ülejäänud süsteemist. Flatpak-pakkide käitamise tugi on tagatud Arch Linuxile, CentOSile, Debianile, Fedorale, Gentool, Mageiale, Linux Mintile, Alt Linuxile ja Ubuntule. Flatpak paketid on lisatud Fedora hoidla ning on toetatud GNOME'i rakenduste haldamise programmis.

Peamised uuendused versioonis Flatpak 1.14:

  • On tagatud katalooge loomine failide jaoks (.local/state) ja keskkonnamuutuja XDG_STATE_HOME seadmise võimalus.
  • Lisatud tingimuslikud kontrollid "have-kernel-module- nimi" tuvastamiseks, kas tuumamoodulid on olemas (üldine analoog varem pakutud kontrollile have-intel-gpu, nüüd saab kasutada väljendit "have-kernel-module-i915").
  • On teostatud käsk "flatpak document-unexport —doc-id=…".
  • On tagatud Appstreami metainformatsiooni eksport põhikeskkonna kasutamiseks.
  • Flatpak käskude autocompletion reeglid on lisatud Fish käsureale.
  • On lubatud võrgujuurdepääs X11 ja PulseAudio teenustele (vastavate seadetega lisamisel).
  • Git-repositooriumi peamine haru on ümber nimetatud "master"-ist "main"-iks, kuna sõna "master" peetakse viimastel aegadel poliitiliselt ebasobivaks.
  • On tagatud käivituskriptide üle kirjutamine rakenduse ümbernimetamise korral.
  • Installimiskäsku on lisatud valikud "—include-sdk" ja "—include-debug" SDK ja debuginfo failide installimiseks.
  • Flatpakref ja flatpakrepo failidesse on lisatud toetus parameetrile "DeploySideloadCollectionID", mille paigaldamisel määratakse kogu kogumi ID kaugrepositooriumi lisamise ajal, mitte pärast metainformatsiooni allalaadimist.
  • On lubatud luua sissekasutamise liivakastid töötlustes MPRIS (Media Player Remote Interfacing Specification) eraldi nimedega seansside jaoks.
  • Käsurea utiliidid on taganud teabe vananenud runtime-laienduste kasutamise kohta.
  • Uninstall käsku on teostatud kinnituse küsimine enne runtime või runtime-laienduste eemaldamist, mis on endiselt kasutuses.
  • Käskudele nagu "flatpak run" on lisatud toetus valikule "—socket=gpg-agent".
  • Libostrees on kõrvaldatud haavatavus, mis võimaldas potentsiaalselt kasutajal kustutada süsteemis juhuslikke faile flatpak-system-helperi töötlijaga manipuleerimise kaudu (submit erase request koos spetsiaalselt vormindatud haru nimega). Probleem avaldub ainult vanades versioonides Flatpakist ja libostrees, mis on välja antud enne 2018. aastat (< 0.10.2), ja ei mõjuta käimasolevaid versioone.

Tuletame meelde, et Flatpaki rakenduste arendajatele pakub võimalust lihtsustada oma programmide levitamist, mis ei kuulu jaotuste tavalistesse hoidlatest, ühe universaalse konteineri ettevalmistamise kaudu, ilma et oleks vaja luua eraldi versioone iga jaotuse jaoks. Kasutajatele, kes jälgivad turvalisust, võimaldab Flatpak käitada kahtlaseid rakendusi konteineris, andes juurdepääsu ainult rakendusega seotud võrgufunktsioonidele ja kasutaja failidele. Huvi tuntavate uute asjade vastu pakkudes, võimaldab Flatpak installida kõige värskemaid katse- ja stabiilseid rakenduste versioone ilma süsteemi muutmata. Näiteks kogutakse Flatpak-pakette LibreOffice'i, Midori, GIMP-i, Inkscape'i, Kdenlive'i, Steami, 0 A.D., Visual Studio Code'i, VLC, Slacki, Skype'i, Telegram Desktopi, Android Studio jne jaoks.

Paketi suuruse vähendamiseks sisaldab see ainult rakendusele spetsiifilisi зависимостей, samas kui põhissüsteemi ja graafikakogumid (GTK, Qt, GNOME ja KDE raamatukogud jne) on esitatud kui liidavad tüüpilised runtime-ümbrikud. Flatpaki peamine erinevus Snapist seisneb selles, et Snap kasutab põhiosade keskkonna komponente ja isoleerimist, mis põhineb süsteemikutsungite filtreerimisel, samas kui Flatpak loob süsteemist eraldi konteineri ning töötab suurte runtime-komplektidega, pakkudes sõltuvustena mitte pakette, vaid tüüpilisi süsteemi ümbrikke (näiteks kõik teegid, mida GNOME või KDE programmide tööks vajatakse).

Lisaks standardsetele süsteemikeskkondadele (runtime), mis installitakse läbi spetsiaalse hoarderi, pakutakse ka täiendavaid sõltuvusi (bundle), mis on vajalikud rakenduse toimimiseks. Kokku moodustavad runtime ja bundle konteineri sisu, kusjuures runtime installitakse eraldi ja seotakse kohe mitme konteineriga, mis võimaldab vältida süsteemifailide dubleerimist konteinerite vahel. Ühes süsteemis võib olla installeeritud mitu erinevat runtime'i (GNOME, KDE) või mitu versiooni ühest runtime'ist (GNOME 3.40, GNOME 3.42). Rakenduse konteiner, mis kasutab sõltuvusi, seondub ainult kindla runtime'iga, arvestamata eraldi pakette, millest runtime koosneb. Kõik puuduvad elemendid pakitakse otse koos rakendusega. Konteineri loomisel monteeritakse runtime sisu kui partition /usr, samas kui bundle monteeritakse katalooge /app.

Runtime'i ja rakenduste konteinerite koostamine toimub OSTree tehnoloogia abil, mis võimaldab atomaarsete piltide värskendamist Git-taolises hoidlas, võimaldades versioonihaldusmeetodite rakendamist distributsiooni komponentidele (nt süsteemi saab kiiresti tagasi viia eelmisse olekusse). RPM-pakette edastatakse OSTree hoidlasse spetsiaalse ülekande kaudu rpm-ostree. Pakettide eraldi installimist ja värskendamist töökeskkonnas ei toetata, süsteemi uuendatakse mitte üksikute komponentide tasandil, vaid tervikuna, muutes oma olekut atomaarsetena. Pakutakse vahendeid inkrementaalsete uuenduste rakendamiseks, mis vabastavad vajadusest iga värskenduse ajal kogu pilti asendada.

Isoleeritud keskkond on täielikult sõltumatu kasutatavast distrost ja nõuetekohaste pakettide seadistuste korral ei pääse see ligi kasutaja või põhisüsteemi failidele ja protsessidele, ei saa otse kasutada riistvara, välja arvatud väljundi kaudu DRI ja võrgualaste kõnede ning Pildi ja sisendi korraldamiseks kasutatakse Waylandi protokolli või X11 sokli edastamist. Suhtlemine välismaailmaga põhineb DBus-sõnumite süsteemil ja spetsiaalsel API Portals.

Isolatsiooni tagamiseks kasutatakse Bubblewrapi kihti ja traditsioonilisi Linuxi konteinerite virtualiseerimise tehnoloogiaid, mis põhinevad cgroups'i, nimede ruumide (namespaces), Seccomp'i ja SELinuxi kasutamisel. Helide väljundiks kasutatakse PulseAudio't. Isolatsiooni saab siiski välja lülitada, mida kasutavad paljude tuntud pakettide arendajad, et saada täielik juurdepääs FS-ile ja kõigile seadmetele süsteemis. Näiteks pakuvad GIMPi, VSCodiumi, PyCharm'i, Octave'i, Inkscape'i, Audacity ja VLC piiratud isolatsiooni režiimis, mis jätab täieliku juurdepääsu kodukataloogile. Juhtudel, kus on oht kodudirectory pakkide pääsemiseks, on piisav, kui ründajal on võimalus muuta fail ~/.bashrc. Eriline küsimus on pakendite muutmise kontrollimine ja usaldus pakendite koostajate suhtes, kes ei ole sageli seotud peamise projekti või distributsiooniga.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster