uus stabiilne tööriistade versioon , mis pakub sĂŒsteemi iseseisvate pakettide koostamiseks, mis ei ole seotud konkreetsete Linuxi distributsioonidega ja toimivad spetsiaalses konteineris, mis isoleerib rakenduse ĂŒlejÀÀnud sĂŒsteemist. Flatpak-pakettide toega Arch Linuxile, , Debianile, Fedoral, Gentool, Mageiale, Linux Mintile ja Ubuntule. Flatpak-paketid on lisatud Fedora hoidlarikkusse ja neid toetatakse GNOMEâi rakenduste haldusprogrammis.
Peamised Flatpak 1.4 harus:
- Muudetud vĂ€liste hoidlate konfigureerimise korraldust. Kaustas /etc/flatpak/remotes.d ei kasutata enam *.conf formaadis seadistustekste, vaid tavafailid â.flatpakrepoâ, mis imporditakse automaatselt esmakordsel flatpaki kasutamisel. Neid faile on vĂ”imalus vabalt redigeerida ja kustutada, sarnaselt kĂ€sitsi lisatud hoidlatele;
- SĂŒsteemipakettide installatsioonide korraldus on oluliselt muutunud. Varasemates vĂ€ljaannetes installiti pakett esmalt kasutaja ajutisse kausta, seejĂ€rel kutsuti sĂŒsteemihaldur importimiseks selle kausta. See lĂ€henemine pĂ”hjustas suuri kettaruumi kulusid, liialdatud sisendi/vĂ€ljundi ning potentsiaalseid turvaprobleeme. Uues versioonis on sĂŒsteemipakettide installimiseks kaasatud spetsiaalne uus FUSE-failisĂŒsteem, kuhu kasutaja saab kirjutada andmeid, kuid pĂ€rast kirjutamise lĂ”petamist blokeeritakse kasutajal juurdepÀÀs kirjutatud failidele. Uus lĂ€henemine hĂ”lmab flatpaki jaoks eraldi kasutaja loomist (vaikimisi âflatpakâ) ja SELinuxi reeglite muutmist;
- Lisatud vĂ”imalus mÀÀrata kliendi sĂŒsteemipoolsed filtrid vĂ€listele hoidlatele. Filtreid kasutades saab piirata hoidlas nĂ€htavaid rakendusi, kasutades valge ja musta nimekirja mudelit;
- Lisatud teegipÔhine API vÀliste hoidlate lisamiseks flatpakref failide kaudu;
- Lisatud seccomp-profiil Dockerile, mis vÔimaldab kÀivitada flatpaki konteinerites;
- Parandatud vÔimalust installida mitmest P2P-allikast (USB-mÀlupulkade vÔi kohaliku vÔrgu kaudu);
- KĂ€sus âflatpak remote-lsâ on tagatud automaatne rakenduste filtreerimine, mille hooldamise aeg on lĂ”ppenud;
- Flatpak remote-ls ja flatpak remote-info kÀsitlevad valikut "--cached", mis vÔimaldab esitada teavet kohalikest vahemÀluandmetest;
- Kasutajatele on lisatud vÔimalus nÀidata paketi eluea lÔpu versiooni, pÀrast mida pakutakse vÔimalust liikuda uude haru;
- Lisatud on valik "--socket=pcsc", et pÀÀseda juurde nuti kaartidele;
- Toetatakse mitme NVIDIA graafikakaardi sĂŒsteeme;
- Dconf toetab nĂŒĂŒd sandbox-ĂŒmbrikus;
- KÀsk build-update-repo on saanud tÀiendavad valikud "--no-update-[summary,appstream]" ja "--static-delta-ignore-ref=PATTERN";
- Oluliselt on suurenenud appstream harude regeneratsiooni kiirus suurtes hoidlates.
Meeldetuletuseks, et Flatpak arendajatele vĂ”imaldab oma programmide levitamist, mis ei kuulu distributeerimise pĂ”hirepositoori, ĂŒhe universaalse konteineri abil, ilma et oleks vaja luua eraldi kogusid iga distributsiooni jaoks. Kasutajatele, kes hoolivad turvalisusest, vĂ”imaldab Flatpak kahtlase rakenduse kĂ€ivitamist konteineris, andes juurdepÀÀsu ainult vĂ”rgufunktsioonidele ja kasutaja failidele, mis on seotud rakendusega. Uudishimulikele kasutajatele vĂ”imaldab Flatpak installida uusimaid katse- ja stabiilseid rakenduste vĂ€ljalasked, ilma et peaks sĂŒsteemis muudatusi tegema. NĂ€iteks praeguseks on Flatpak-paketid juba LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio jne.
Paketi suuruse vĂ€hendamiseks sisaldab see ainult rakendusele spetsiifilisi sĂ”ltuvusi, samas kui pĂ”hiskeemid ja graafilised raamatukogud (Gtk+, Qt, GNOME ja KDE raamatukogud jne) on vĂ€lja kujundatud kui lisatavad standardsete runtime-ĂŒmbriste kujul. Flatpaki peamine erinevus Snapist on see, et Snap kasutab pĂ”hiskeemi komponente ja isolatsiooni, mis pĂ”hineb sĂŒsteemi vĂ€ljakutsete filtreerimisel, samas kui Flatpak loob sĂŒsteemist eraldi konteineri ja töötleb suuri runtime-kogusid, pakkudes sĂ”ltuvuste asemel mitte pakette, vaid standardseid sĂŒsteemi ĂŒmbrikke (nĂ€iteks kĂ”ik raamatukogud, mis on vajalikud GNOME vĂ”i KDE programmide tööks).
Peale standardse sĂŒsteemi ĂŒmbrise (runtime), mis installitakse spetsiaalse kaudu , pakuvad tĂ€iendavaid sĂ”ltuvusi (bundle), mis on vajalikud rakenduse töötamiseks. Kokku runtime ja bundle moodustavad konteineri sisu, samas kui runtime installitakse eraldi ja seondub korraga mitme konteineriga, mis vĂ”imaldab vĂ€ltida ĂŒldiste sĂŒsteemifailide dubleerimist konteinerite vahel. Ăhes sĂŒsteemis vĂ”ib olla installitud mitu erinevat runtime'i (GNOME, KDE) vĂ”i mitu versiooni ĂŒhest runtime'ist (GNOME 3.26, GNOME 3.28). Rakenduse konteiner, mis kasutab sĂ”ltuvust, seondub ainult kindla runtime'iga, arvestamata eraldi pakette, millest runtime koosneb. KĂ”ik puuduvad elemendid pakitakse otse rakendusega kaasa. Konteineri loomisel monteeritakse runtime'i sisu kaustana /usr, ja bundle monteeritakse kausta /app.
Runtime ja rakenduste konteinerite sisu moodustatakse tehnoloogia abil , mille kĂ€igus pilt uuendatakse aatomiliselt Git-sarnastest hoidlatest, mis vĂ”imaldavad rakendada versioonihaldusmeetodeid jaotuse komponentidele (nĂ€iteks saab sĂŒsteemi kiiresti tagasi eelnenud olekusse viia). RPM-paketid edastatakse OSTree'i hoidlasse spetsiaalse kihina . Eraldi pakettide installimine ja vĂ€rskendamine töökeskkonnas ei ole toetatud, sĂŒsteem uuendatakse mitte eraldi komponentide tasemel, vaid tĂ€ielikult, aatomiliselt muutes oma olekut. Pakutakse vahendeid inkrementaalsete vĂ€rskenduste rakendamiseks, mis vabastavad vajadusest iga vĂ€rskenduse jaoks kogu pilti asendada.
Kujundatav isoleeritud keskkond on tĂ€ielikult sĂ”ltumatu kasutatavast jaotusest ja korralike paketiseadetega ei pÀÀse see kasutaja vĂ”i pĂ”hise sĂŒsteemi faile ja protsessidele, ega saa otse riistvaraga suhelda, vĂ€lja arvatud DRI kaudu vĂ€ljund ja vĂ”rgu alamsĂŒsteem. Graafika vĂ€ljund ja sisendi korraldamine kasutades Waylandi protokolli vĂ”i X11 socketi edastamise kaudu. Suhtlemine vĂ€liskeskkonnaga pĂ”hineb DBus sĂ”numivahetuse sĂŒsteemil ja spetsiaalsel API Portals. Isolatsiooniks kihiks ja traditsioonilised Linuxile iseloomulikud konteinerite virtualiseerimise tehnoloogiad, mis pĂ”hinevad cgroups, nimede ruumide (namespaces), Seccomp ja SELinux'i kasutamisel. HelivĂ€ljundiks kasutatakse PulseAudio.
Allikas: opennet.ru
