Рэліз сістэмы самадастатковых пакетаў Flatpak 1.8.0

Апублікавана новая стабільная галіна інструментара Flatpack 1.8, які падае сістэму для зборкі самадастатковых пакетаў, не прывязаных да пэўных дыстрыбутываў Linux і выкананых у адмысловым кантэйнеры, ізалявалым прыкладанне ад астатняй сістэмы. Падтрымка выканання Flatpak-пакетаў забяспечана для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint і Ubuntu. Пакеты з Flatpak уключаны ў рэпазітар Fedora і падтрымліваюцца ў штатнай праграме кіравання прыкладаннямі GNOME.

ключавыя навіны у галінцы Flatpak 1.8:

  • Спрошчана рэалізацыя ўстаноўкі ў рэжыме 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.

Крыніца: opennet.ru

Дадаць каментар