Flatpak 1.16.0 sĂ”ltumatute pakettide sĂŒsteemi vĂ€ljaanne

PĂ€rast kahte ja poolt aastat arendust on avaldatud uus stabiilne Flatpak 1.16 tööriista haru, mis pakub sĂŒsteemi iseseisvate pakettide koostamiseks, mis ei ole seotud konkreetsete Linuxi distributsioonidega ja töötavad spetsiaalses konteineris, isolatsiooni kaudu rakenduse eraldamiseks ĂŒlejÀÀnud sĂŒsteemist. Flatpak-pakkude töötamine on toetatud Fedora, CentOS, Debian, Arch Linux, Gentoo, Linux Mint, Alt Linux ja Ubuntu jaoks. Flatkpakiga seotud paketid on lisatud Fedora pakihalduri ja neid toetatakse GNOME ja KDE vaikimisi rakendustega.

Flatpak 1.16 haru peamised uuendused:

  • On toimunud ĂŒleminek Meson ehitussĂŒsteemi kasutusele. Autotools tööriista lĂ€biviimise toetus on lĂ”petatud. Flatpaki koostamiseks on nĂŒĂŒd vaja sĂŒsteemis olla Python, vĂ€hemalt versioon 3.5.
  • On rakendatud gssproxy soketile juurdepÀÀsu vĂ”imalus, mis vĂ”imaldab Kerberose kaudu autentimist rakendustes, mis kĂ€ivituvad liivakasti isolatsiooni reĆŸiimis.
  • Waylandi soketi loomisel on kasutusele vĂ”etud security-context laiendus, mille kaudu koostaja server vĂ”ib tuvastada ja piirata rakendusi, mis töötavad liivakasti isolatsiooni reĆŸiimis. Lisatud on valik „—socket=inherit-wayland-socket” olemasoleva Waylandi soketi pĂ€rimiseks.
  • PĂ€rast rakenduste installimist vĂ”i uuendamist tagab D-Bus seansibussi konfigureerimise automaatse taaskĂ€ivitamise, et vĂ”tta kasutusele uued rakenduste eksporditud D-Bus teenused.
  • Distributsioonidele on antud vĂ”imalus mÀÀrata Flatpaki pakettide allikaid kaustas „/usr/share/flatpak/remotes.d”, lisaks „/etc/flatpak/remotes.d”.
  • On viidud lĂ€bi suuremate lĂ€htekoodiga failide jagamise töö vĂ€ikesteks mooduliteks.
  • On lisatud valik „—device=input” sisendseadmete juurdepÀÀsuks lĂ€bi /dev/input.
  • Rakenduste isolatsiooniks on kasutusele vĂ”etud uus bubblewrap 0.11 tööriistade haru. Distributsioonides, mis koostavad Flatpaki sĂŒsteemi bwrap executablest, peab olema vĂ€hemalt versioon bubblewrap 0.11. Rikkumise kaitsmine liivakasti keskkondadesse, kus luuakse pesasid (user namespace), on tugevdatud.
  • TĂ€psemate keelte seadistamine on lihtsustatud. Keelte mÀÀramine pĂ”hineb DBus teenuse AccountsService toimetataval teabel kasutajate kohta.
  • Rakendustele, mis kasutavad sisemist sandbox-eraldust, nĂ€iteks WebKiti pĂ”hjal, on AT-SPI protokolli kasutamine ekraanilugejatega suhtlemiseks lubatud. Lisatud on valik „flatpak run —a11y-own-name”, et valida buss, mille kaudu pÀÀseb juurde ligipÀÀsetavuse vahenditele.
  • KĂ€ivitades kĂ€su „flatpak run -vv ”, kuvatakse kĂ”ik kehtivad sandbox-eraldusparameetrid.
  • Lisatud on valik „—device=usb”, samuti „—usb” ja „—no-usb” parameetrid rakenduse juurdepÀÀsu juhtimiseks USB-seadmetele.
  • Lisatud on KCompletion raamistiku tugi, mida kasutatakse otsinguvĂ”tmete automaatseks tĂ€iendamiseks KDE-s.
  • Lisatud on keskkonnamuutujad „FLATPAK_DATA_DIR” ja „FLATPAK_DOWNLOAD_TMPDIR”, et mÀÀrata ĂŒmber andmekataloogid ( /usr/share/flatpak ) ja allalaaditavad ajutised failid ( /var/tmp ).
  • Lisa escape-jĂ€rjestuste vĂ€ljund operatsioonide edenemise kuvamiseks terminaliemulaatorites.

Kohustuslik meeldetuletus: Flatpak lihtsustab programmide levitamist, mis ei kuulu jaotiste tavarepositsioonidesse, valmistades ette ĂŒhe universaalse konteineri, vabastades arendajad vajadusest koostada eraldi kogumid iga jaotuse jaoks. Turvalisuse nimel hoolivatele kasutajatele annab Flatpak vĂ”imaluse kĂ€itada kahtlase rakenduse konteineris, pakkudes valikuliselt juurdepÀÀsu ainult vajalikele vĂ”rgufunktsioonidele ja kasutaja failidele. Uute asjade huvi tundvatele kasutajatele vĂ”imaldab Flatpak installida kĂ”ige uuemaid katse- ja stabiilseid rakenduste vĂ€ljaandeid ilma sĂŒsteemi muutmata. NĂ€iteks koostatakse Flatpak-paketid LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Studio jne jaoks.

Paki suuruse vĂ€hendamiseks sisaldab see ainult rakenduse spetsiifilisi sĂ”ltuvusi. BaassĂŒsteemi ja graafikakogud (GTK, Qt, GNOME ja KDE raamatukogud jne) tarnitakse plugina kujul standardsete runtime-keskkondadena. Flatpaki peamine erinevus Snapist seisneb selles, et Snap kasutab pĂ”hissĂŒsteemi keskkonna komponente ja sĂŒsteemikutsungite filtreerimise pĂ”hjal isoleerimist, samas kui Flatpak loob sĂŒsteemist eraldi konteineri ja töötleb suuremaid runtime-komplekte, pakkudes sĂ”ltuvustena mitte pakette, vaid standardseid sĂŒsteemi keskkondi (nt kĂ”ik raamatukogud, mis on vajalikud GNOME vĂ”i KDE programmide töötamiseks).

Lisaks standardsele sĂŒsteemi keskkonnale (runtime), mis installitakse spetsiaalse reposiitri kaudu, tarnitakse ka rakenduse tööks vajalikud tĂ€iendavad sĂ”ltuvused (bundle). Koos moodustavad "runtime" ja "bundle" konteineri sisu, kuid samas installitakse "runtime" eraldi ja seotakse korraga mitme konteineriga, mis vĂ”imaldab vĂ€ltida sĂŒsteemifailide dubleerimist, mis on ĂŒhised konteineritele.

Ühes sĂŒsteemis vĂ”ib olla installitud mitu erinevat „runtime” (GNOME, KDE) vĂ”i mitu versiooni ĂŒhest „runtime” (GNOME 46, GNOME 47). Rakenduse konteiner sĂ”ltuvus kasutab sidet ainult kindla „runtime”'iga, mitte ei arvesta valitud „runtime”'i koosseisus olevaid eraldi pakette. KĂ”ik puuduvad elemendid pakitakse otse rakendusega. Konteinerit luues monteeritakse „runtime” sisu kui osa /usr-st ja „bundle” monteeritakse katalooge /app.

«Runtime» ja rakenduste konteinerite sisu luuakse OSTree tehnoloogia abil, kus pilt vĂ€rskendatakse atomaarsetest Git-sarnastest hoidlatest, vĂ”imaldades rakendada versioonihaldusmeetodeid distributsi komponentide suhtes (nĂ€iteks saab kiiresti taastada sĂŒsteemi eelmisse olekusse). RPM-pakette kantakse OSTree hoidlasse lĂ€bi rpm-ostree liidese.

Valikuline pakettide installimine ja vĂ€rskendamine töökeskkonnas ei ole toetatud — sĂŒsteemi vĂ€rskendatakse mitte eraldi komponentide tasemel, vaid tĂ€ielikult, atomaarsete muudatustega. Pakutakse vahendeid uuenduste inkrementaalse rakendamise jaoks, vĂ€ltides vajadust iga uuenduse korral tĂ€ieliku pildi asendamise jĂ€rele.

Isoleeritud keskkond on tĂ€ielikult sĂ”ltumatu kasutatavast distributsioonist ning korralike paketi seadistuste korral ei ole sellele ligipÀÀsu kasutaja vĂ”i pĂ”hikorras oleva sĂŒsteemi failidele ja protsessidele, samuti ei saa see otse varustusele ligi, vĂ€lja arvatud vĂ€ljund DRI kaudu. Graafika vĂ€ljund ja sisendi organiseerimine on realiseeritud Waylandi protokolli vĂ”i X11 soketipassi kaudu. Suhtlemine vĂ€lismaailmaga toimub DBus suhtlemissĂŒsteemi ja spetsiaalse Portals API kaudu.

Isolatsiooni tagamiseks kasutatakse Bubblewrapi vahet, samuti traditsioonilisi Linuxi konteinerite virtualiseerimise tehnoloogiaid nagu cgroups, nimede ruume (namespaces), Seccomp ja SELinux. Helide vĂ€ljundiks kasutatakse PulseAudio vĂ”i PipeWire'd. Paketi loomise korral vĂ”ib isolatsiooni vĂ€lja lĂŒlitada, mida paljud populaarsed paketiarendajad kasutavad tĂ€ieliku juurdepÀÀsu saamiseks failisĂŒsteemile ja kĂ”ikidele seadmetele sĂŒsteemis.

NĂ€iteks GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity ja VLC pakette tarnitakse piiratud isolatsioonireĆŸiimis, mis jĂ€tab tĂ€ieliku ligipÀÀsu kodukataloogile. Kui pakettides, mis pÀÀsevad kodukataloogile, toimub kompromiteerimine, piisab rĂŒndajast, et muuta fail ~/.bashrc, hoolimata paketi kirjel olevast sildist „sandboxed“. Eraldi kĂŒsimus on pakettide muudatuste jĂ€lgimine ja usaldus pakettide koostajate suhtes, kes tihti ei ole seotud peamise projekti vĂ”i distributsioonidega.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster