Ilmus iseseisvate paketisüsteemide Flatpak 1.4.0

Avaldatud uus stabiilne tööriistakomplekti haru Flatpak 1.4, mis pakub süsteemi iseseisvate pakettide koostamiseks, mis ei ole seotud konkreetsete Linuxi distributsioonidega ja mida käitatakse spetsiaalses konteineris, mis eraldab rakenduse ülejäänud süsteemist. Flatpak-pakettide tugi on tagatud Arch Linuxile, CentOS, Debianile, Fedora'le, Gentoo'le, Mageia'le, Linux Mintile ja Ubuntu'le. Flatpak-paketid on kaasatud Fedora reposse ja toetatud GNOME'i rakenduste haldamise programmi kaudu.

Peamised uuendused Flatpak 1.4 harus:

  • Väliste reposte konfiguratsioonide seadete korraldus on muudetud. Kaustas /etc/flatpak/remotes.d ei ole enam *.conf seadistusteadete faile, vaid kasutatakse tavalisi faile „.flatpakrepo”, mis imporditakse automaatselt esmakordsel flatpaki kasutamisel. Nende faile saab vabalt redigeerida ja kustutada, nagu käsi lisatud reposte puhul;
  • Kogu süsteemi pakettide installatsiooni korraldus on oluliselt muutunud. Varasemates versioonides installiti pakett alguses kasutaja ajutisse kataloogi ning seejärel käivitas see system-helper protsessi, et importida see süsteemi sellest kataloogist. Sarnane lähenemine tõi kaasa suured kettaruumi kulud, liialdava sisendi/väljundi ja potentsiaalsed turvaprobleemid. Uues versioonis on süsteemsete paketide installimiseks kaasatud spetsiaalne uus FUSE-failisüsteem, kuhu kasutaja saab andmeid kirjutada, kuid pärast kirjutamise lõppemist blokeeritakse juurdepääs salvestatud failidele kasutaja jaoks. Uus lähenemine hõlmab flatpak jaoks eraldi kasutaja loomist (vaikimisi "flatpak") ja SELinuxi reeglite muutmist;
  • Klientide süsteemi poolel on lisatud võimalus määrata väliste repo filtreid. Filtrite abil saab piirata nähtavaid rakendusi repos, kasutades valge ja musta nimekirja mudelit;
  • Lisatud on teegi API väliste repo lisamiseks flatpakref failidest;
  • Lisatud seccomp-profiil Dockerile, mis võimaldab flatpaki käitamise konteinerites;
  • Parandatud mitmest P2P-allikast installimise võimalust (USB-mälupulkade või kohaliku võrgu kaudu);
  • Meeskonnas «flatpak remote-ls» tagatakse automaatne filtreerimine rakenduste jaoks, mille toimetamise aeg on lõppenud;
  • «flatpak remote-ls» ja «flatpak remote-info» käsud on saanud valiku «—cached» kohalike vahemälustatud andmete põhjal teabe edastamiseks;
  • Lisatud võimalus määrata paketi elutsükli lõpuaeg, mille järel pakutakse võimalust uuele harule üleminekuks;
  • Lisatud valik «—socket=pcsc» nutikaardile juurdepääsuks;
  • Lisatud tugi süsteemidele, kus on mitu NVIDIA graafikakaarti;
  • Toetatud on dconf, mis on paigutatud sandbox-keskkonda;
  • Käsule build-update-repo on lisatud valikud «—no-update-[summary,appstream]» ja «—static-delta-ignore-ref=PATTERN»;
  • Oluliselt on suurenenud appstreami harude regenereerimise kiirus suurtes hoidlates.

Tuletame meelde, et Flatpaki arendajatele antakse võimalus lihtsustada oma programmide levitamist, mis ei kuulu jaotuste ametlikesse hoidlatesse, tänu ettevalmistamiseks ühe universaalse konteineri loomise, ilma et oleks vaja iga jaotuse jaoks eraldi kogumisi. Turvalisuse eest hoolitsevatele kasutajatele võimaldab Flatpak kahtlaste rakenduste käivitamist konteineris, andes neile juurdepääsu ainult rakendusega seotud võrgufunktsioonidele ja failidele. Uute tehnoloogiate huvilistele võimaldab Flatpak installida kõige värskemaid katse- ja stabiilseid rakenduste versioone, ilma et peaks süsteemi muutma. Näiteks praegu on juba koostatakse LibreOffice'i, Firefoxi, 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 rakenduse spetsiifilisi sõltuvusi, samas kui põhisk süsteemi ja graafikakogude teegid (Gtk+, Qt, GNOME ja KDE teegid jms) on esitatud kui ühendatud tüüpilised runtime-ümbrikud. Flatpaki peamine erinevus Snapist seisneb selles, et Snap kasutab põhisk keskkonna komponente ning süsteemikõnede filtreerimise kaudu isolatsiooni, samas kui Flatpak loob süsteemist eraldi konteineri ja opereerib suurte runtime-komplektidega, pakkudes sõltuvustena mitte pakette, vaid tüüpilisi süsteemi keskkondi (näiteks kõik teegid, mis on vajalikud GNOME või KDE programmide tööks).

Lisaks tüüpilisele süsteemi keskkonnale (runtime), mis installitakse spetsiaalselt repo, tarnitud sõltumatud sõltuvused (bundle), mis on vajalik rakenduse töötamiseks. Kokku moodustavad runtime ja bundle konteineri sisu, samas kui runtime paigaldatakse eraldi ja sidub kohe mitme konteineriga, mis võimaldab vältida ühiste süsteemifailide dubleeritud paigaldamist konteinerite vahel. Ühes süsteemis võib olla paigaldatud mitu erinevat runtime'i (GNOME, KDE) või mitu versiooni ühest ja samast runtime'ist (GNOME 3.26, GNOME 3.28). Rakenduse konteiner sõltuvusena kasutab sidet ainult teatud runtime'iga, arvestamata eraldi pakette, millest runtime koosneb. Kõik puuduvad elemendid pakendatakse otse koos rakendusega. Konteineri loomisel mountitakse runtime'i sisu katalooge nagu /usr, samas kui bundle mountitakse katalooge /app.

Rakenduste konteinerite ja runtime koostisosad moodustatakse tehnoloogia abil OSTree, mille, mis tagab atomaarse uuendamise Git-sarnases säilitamises, võimaldades rakendada versioonikontrolli meetodeid distributsioonikomponentidele (näiteks saab kiiresti süsteemi tagasitoomine varasemasse olekusse). RPM-paketid edastatakse OSTree'i hulka spetsiaalse liidese abil. rpm-ostree. Üksikud paketid ei saa olla eraldi paigaldatud ja värskendatud töökeskkonnas, süsteemi uuendamine toimub mitte eraldi komponentide tasandil, vaid tervikuna, muudab atomaariselt oma seisundit. Pakutakse vahendeid, mis võimaldavad inkrementaalset uuenduste rakendamist, vabastades vajadusest iga uuenduse korral kogu pilti asendada.

Kujundatav isoleeritud keskkond on täiesti sõltumatu kasutatavast distributsioonist ning korralike pakettide seadistustega ei ole juurdepääsu kasutaja või põhissüsteemi failidele ja protsessidele, ei saa otse riistvaraga suhelda, välja arvatud DRI kaudu väljundi ja võrgusüsteemi kaudu. Graafika väljund ja sisendi korraldamine on rakendatud Waylandi protokolli või X11 sokli edastamise kaudu. Suhtlemine väliskeskkonnaga põhineb DBus sõnumivahetussüsteemil ja spetsiaalsel API Portals. Isolatsiooniks kasutatakse kiht Bubblewrap ja traditsioonilised Linuxi konteinerite virtualiseerimise tehnoloogiad, mis põhinevad cgroups, nimestruktuuridel (namespaces), Seccompil ja SELinuxil. Heliväljundi jaoks kasutatakse PulseAudio.

Allikas: opennet.ru

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