Рэліз сістэмы самадастатковых пакетаў Flatpak 1.8.0
Апублікавана новая стабільная галіна інструментара Flatpack 1.8, які падае сістэму для зборкі самадастатковых пакетаў, не прывязаных да пэўных дыстрыбутываў Linux і выкананых у адмысловым кантэйнеры, ізалявалым прыкладанне ад астатняй сістэмы. Падтрымка выканання Flatpak-пакетаў забяспечана для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint і Ubuntu. Пакеты з Flatpak уключаны ў рэпазітар Fedora і падтрымліваюцца ў штатнай праграме кіравання прыкладаннямі GNOME.
Спрошчана рэалізацыя ўстаноўкі ў рэжыме P2P (дазваляе арганізаваць загрузку прыкладанняў і runtime-набораў праз прамежкавыя вузлы або назапашвальнікі для сістэм без сеткавага падключэння). Спынена падтрымка ўстаноўкі праз прамежкавыя хасты ў лакальнай сетцы. Адключана па змаўчанні аўтаматычная загрузка рэпазітароў (sideload), размешчаных на лакальных USB-назапашвальніках. Для актывацыі прамежкавых лакальных рэпазітароў варта наладзіць рэпазітар праз стварэнне сімвалічнай спасылкі з /var/lib/flatpak/sideload-repos або
/run/flatpak/sideload-repos. Змена дазволіла спрасціць унутраную рэалізацыю рэжыму P2P і павысіць яго эфектыўнасць.
Дададзены апцыянальны systemd unit для аўтаматычнага вызначэння дадатковых рэпазітароў на падлучаных вонкавых USB-назапашвальніках.
Для прыкладанняў, мелых доступ да файлавай сістэмы, забяспечаны пракід каталога /lib хост-акружэнні ў /run/host/lib.
Дададзены новыя паўнамоцтвы доступу да ФС - "host-etc" і "host-os", якія дазваляюць атрымаць доступ да сістэмных каталогаў /etc і /usr.
Для генерацыі больш эфектыўнага кода разбору файлаў GVariant з ostreee задзейнічаны варыянт-схема-кампілятар.
У зборачным крыпце configure прадстаўлена магчымасць зборкі без
libsystemd;
Забяспечана мантаванне сокетаў Journal у рэжыме толькі для чытання.
У document-export дададзена падтрымка экспарту каталогаў.
Дазволены прамы доступ да гукавых прылад ALSA для прыкладанняў, якія маюць доступ да Pulseaudio.
У API FlatpakTransaction дададзены сігнал "install-authenticator", які можа выкарыстоўвацца кліентамі для ўсталёўкі аўтэнтыфікатараў, неабходных для здзяйснення транзакцыі.
Забяспечана выкарыстанне дадзеных аб часавым поясе на аснове /etc/localtime з хост-сістэмы, што вырашыла злучаныя з часавымі паясамі праблемы ў некаторых прыкладаннях.
Спынена ўсталёўка файла env.d з gdm, бо генератары systemd лепш спраўляюцца з гэтай задачай.
Ва ўтыліце create-usb па змаўчанні ўключаны экспарт частковых комітаў.
Забяспечана пастаўка файла sysusers.d для стварэння праз systemd неабходных карыстальнікаў.
У каманды "flatpak remote-add" і "flatpak modify" дададзена опцыя "—[no-]follow-redirect" для забароны/дазволу перанакіравання на іншы рэпазітар.
У сістэму парталаў дададзены API Spawn для атрымання рэальнага ідэнтыфікатара працэсу (PID) запушчанага прыкладання.
Усе рэпазітары OCI (Open Container Initiative) перакладзены на выкарыстанне аўтэнтыфікатара flatpak-oci-authenticator.
У каманды "flatpak remote-info" і "flatpak update" дададзена опцыя "-commit=" для задання пэўнай версіі рэпазітараў OCI.
Дададзена пачатковая падтрымка delta-абнаўленняў для рэпазітараў OCI.
Дададзена каманда "flatpak upgrade", якая з'яўляецца псеўданімам каманды "flatpak update".
Рэалізаваны сцэнары дапаўненні ўводу для каманднай абалонкі fish.
Нагадаем, што распрацоўнікам прыкладанняў Flatpak дае магчымасць спрасціць распаўсюджванне сваіх праграм, якія не ўваходзяць у штатныя рэпазітары дыстрыбутываў за кошт падрыхтоўкі аднаго ўніверсальнага кантэйнера без фарміравання асобных зборак для кожнага дыстрыбутыва. Карыстачам, якія клапоцяцца аб бяспецы, Flatpak дазваляе выканаць выклікае сумнеў прыкладанне ў кантэйнеры, падаўшы доступ толькі да сеткавых функцый і файлаў карыстальніка, звязаным з дадаткам. Карыстачам, якія цікавяцца навінкамі, Flatpak дазваляе ўсталяваць самыя свежыя тэставыя і стабільныя выпускі прыкладанняў без неабходнасці занясення змен у сістэму. Напрыклад, у наш час Flatpak-пакеты ўжо збіраюцца для LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio і г.д.
Для памяншэння памеру пакета ён уключае толькі спецыфічныя для прыкладання залежнасці, а базавыя сістэмныя і графічныя бібліятэкі (Gtk+, Qt, бібліятэкі GNOME і KDE і да т.п.) аформлены ў выглядзе якія падключаюцца тыпавых runtime-акружэнняў. Ключавое адрозненне Flatpak ад Snap заключаецца ў тым, што Snap выкарыстоўвае кампаненты асяроддзя асноўнай сістэмы і ізаляцыю на аснове фільтрацыі сістэмных выклікаў, у той час як Flatpak стварае асобны ад сістэмы кантэйнер і аперуе буйнымі runtime-наборамі, падаючы ў якасці залежнасцяў не пакеты, а тыпавыя. сістэмныя асяроддзі (напрыклад, усе бібліятэкі, неабходныя для працы праграм GNOME або KDE).
Апроч тыпавога сістэмнага асяроддзя (runtime), усталёўванага праз адмысловы рэпазітар, пастаўляюцца дадатковыя залежнасці (bundle), патрабаваныя для працы прыкладання. У суме runtime і bundle утвораць начынне кантэйнера, пры тым, што runtime усталёўваецца асобна і прывязваецца адразу да некалькіх кантэйнераў, што дазваляе абыйсціся без дублявання агульных для кантэйнераў сістэмных файлаў. У адной сістэме можа быць усталявана некалькі розных runtime (GNOME, KDE) ці некалькі версій аднаго runtime (GNOME 3.26, GNOME 3.28). Кантэйнер з дадаткам у якасці залежнасці выкарыстоўвае прывязку толькі да вызначанага runtime, без уліку асобных пакетаў, з якіх складаецца runtime. Усе адсутнічаюць элементы пакуюцца непасрэдна разам з дадаткам. Пры фармаванні кантэйнера змесціва runtime мантуецца як частка /usr, а bundle мантуецца ў дырэкторыю /app.
Начынне runtime і кантэйнераў прыкладанняў фарміруецца з выкарыстаннем тэхналогіі OSTree, пры якой выява атамарна абнаўляецца з Git-падобнага сховішча, які дазваляе ўжываць метады версійнага кантролю да кампанентаў дыстрыбутыва (напрыклад, можна хутка адкаціць сістэму да мінулага стану). RPM-пакеты транслююцца ў рэпазітар OSTree пры дапамозе спецыяльнай праслойкі. rpm-ostree. Асобная ўсталёўка і абнаўленне пакетаў усярэдзіне працоўнага асяроддзя не падтрымліваецца, сістэма абнаўляецца не на ўзроўні асобных кампанентаў, а цалкам, атамарна змяняючы свой стан. Прадстаўляюцца сродкі для інкрыментальнага прымянення абнаўленняў, якія пазбаўляюць ад неабходнасці поўнай замены выявы пры кожным абнаўленні.
Фарміраванае ізаляванае асяроддзе цалкам незалежна ад выкарыстоўванага дыстрыбутыва і пры належных наладах пакета не мае доступу да файлаў і працэсам карыстача ці асноўнай сістэмы, не можа напроста звяртацца да абсталявання, за выключэннем высновы праз DRI, і сеткавай падсістэме. Выснова графікі і арганізацыя ўводу рэалізаваны пры дапамозе пратаколу Wayland або праз пракід сокета X11. Узаемадзеянне з навакольным асяроддзем пабудавана на аснове сістэмы абмену паведамленнямі DBus і спецыяльнага API Portals. Для ізаляцыі выкарыстоўваецца праслойка Пузырчатая плёнка і традыцыйныя для Linux тэхналогіі кантэйнернай віртуалізацыі, заснаваныя на выкарыстанні cgroups, прастор імёнаў (namespaces), Seccomp і SELinux. Для вываду гуку прымяняецца PulseAudio.