Lage nan sistèm nan pakè endepandan Flatpak 1.14.0

Yo te pibliye yon nouvo branch ki estab nan bwat zouti Flatpak 1.14 la, ki bay yon sistèm pou konstwi pakè endepandan ki pa mare ak distribisyon Linux espesifik epi kouri nan yon veso espesyal ki izole aplikasyon an nan rès sistèm lan. Yo bay sipò pou kouri pakè Flatpak pou Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux ak Ubuntu. Pake Flatpak yo enkli nan depo Fedora a epi yo sipòte pa manadjè aplikasyon GNOME natif natal la.

Inovasyon kle nan branch Flatpak 1.14 la:

  • Li posib pou kreye yon anyè pou fichye nan eta (.local/state) epi mete varyab anviwònman XDG_STATE_HOME lonje dwèt sou anyè sa a.
  • Te ajoute chèk kondisyonèl nan fòm "have-kernel-module-name" pou detèmine prezans modil nwayo (yon analòg inivèsèl nan chèk have-intel-gpu yo te pwopoze deja, olye pou yo ekspresyon "have-kernel-module-i915" an. ” kapab kounye a itilize).
  • Kòmandman "flatpak document-unexport —doc-id=..." te aplike.
  • Yo bay ekspòtasyon Metadata Appstream pou itilize nan anviwònman prensipal la.
  • Te ajoute règ fini lòd flatpak pou koki Pwason an
  • Aksè rezo a nan sèvis X11 ak PulseAudio pèmèt (si yo ajoute paramèt ki apwopriye yo).
  • Branch prensipal la nan depo Git la te chanje non soti nan "mèt" nan "prensipal", depi mo "mèt la" dènyèman te konsidere kòm politikman kòrèk.
  • Scripts lansman yo kounye a reekri si aplikasyon an chanje non.
  • Te ajoute opsyon "--include-sdk" ak "--include-debug" nan lòd enstale a pou enstale SDK ak debuginfo dosye yo.
  • Te ajoute sipò pou paramèt "DeploySideloadCollectionID" nan flatpakref ak flatpakrepo fichye yo. Lè yo mete, ID koleksyon an pral mete lè w ajoute yon depo aleka, epi pa apre w fin chaje metadata yo.
  • Pèmèt kreyasyon anviwònman sandbox anbrike pou moun kap okipe yo nan sesyon yo ak non MPRIS (Media Player Remote Interfacing Specification) separe.
  • Liy kòmand sèvis piblik yo kounye a bay enfòmasyon sou itilizasyon ekstansyon demode ègzekutabl.
  • Kòmandman dezenstalasyon an aplike yon demann konfimasyon anvan yo retire ekstansyon ègzekutabl oswa egzekisyon ki toujou nan itilize.
  • Te ajoute sipò pou opsyon "--socket = gpg-agent" nan kòmandman tankou "flatpak kouri".
  • Yo te fikse yon vilnerabilite nan libostree ki kapab potansyèlman pèmèt yon itilizatè efase fichye abitrè sou sistèm nan atravè manipilasyon moun kap okipe flatpak-system-helper la (voye yon demann efase ak yon non branch espesyal fòma). Pwoblèm nan parèt sèlman nan ansyen vèsyon Flatpak ak libostree ki te pibliye anvan 2018 (<0.10.2) epi li pa afekte degaje aktyèl yo.

Ann raple w ke Flatpak pèmèt devlopè aplikasyon yo senplifye distribisyon pwogram yo ki pa enkli nan depo distribisyon estanda yo lè yo prepare yon sèl veso inivèsèl san yo pa kreye asanble separe pou chak distribisyon. Pou itilizatè ki gen konsyans sekirite, Flatpak pèmèt ou kouri yon aplikasyon dout nan yon veso, bay aksè sèlman nan fonksyon rezo yo ak dosye itilizatè ki asosye ak aplikasyon an. Pou itilizatè ki enterese nan nouvo pwodwi, Flatpak pèmèt ou enstale dènye tès ak degaje aplikasyon ki estab san yo pa bezwen fè chanjman nan sistèm nan. Pou egzanp, pakè Flatpak yo bati pou LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, elatriye.

Pou diminye gwosè pake a, li gen ladan sèlman depandans aplikasyon espesifik, ak sistèm debaz yo ak bibliyotèk grafik (GTK, Qt, GNOME ak KDE bibliyotèk, elatriye) yo fèt kòm anviwònman ploge nan estanda ègzekutabl. Diferans kle ant Flatpak ak Snap se ke Snap sèvi ak eleman yo nan anviwònman sistèm prensipal la ak izolasyon ki baze sou apèl sistèm filtraj, pandan y ap Flatpak kreye yon veso ki separe ak sistèm nan epi opere ak seri gwo ègzekutabl, bay pa pake kòm depandans, men estanda. anviwònman sistèm yo (pa egzanp, tout bibliyotèk ki nesesè pou fonksyone pwogram GNOME oswa KDE).

Anplis de anviwònman sistèm estanda a (ejecutive), enstale atravè yon depo espesyal, depandans adisyonèl (pakèt) ki nesesè pou operasyon aplikasyon an yo apwovizyone. An total, ègzekutabl ak pake fòme ranpli nan veso a, malgre lefèt ke ègzekutabl enstale separeman ak mare nan plizyè resipyan nan yon fwa, ki pèmèt ou evite kopi dosye sistèm komen nan resipyan yo. Yon sistèm ka gen plizyè ègzekutabl diferan enstale (GNOME, KDE) oswa plizyè vèsyon nan menm ègzekutabl (GNOME 3.40, GNOME 3.42). Yon veso ki gen yon aplikasyon kòm yon depandans itilize yon obligatwa sèlman nan yon tan espesifik, san yo pa pran an kont pakè endividyèl yo ki fòme ègzekutabl la. Tout eleman ki manke yo pake dirèkteman ak aplikasyon an. Lè yon veso fòme, sa ki ekzekite yo monte kòm patisyon /usr, epi pake a monte nan anyè /app.

Resipyan egzekisyon ak aplikasyon yo konstwi lè l sèvi avèk teknoloji OSTree, kote imaj la mete ajou atomikman nan yon depo ki sanble ak Git, ki pèmèt metòd kontwòl vèsyon yo aplike nan eleman distribisyon yo (pa egzanp, ou ka byen vit retounen sistèm nan nan yon eta anvan). Pakè RPM yo tradui nan repozitwa OSTree lè l sèvi avèk yon kouch espesyal rpm-ostree. Enstalasyon separe ak aktyalizasyon pakè nan anviwònman k ap travay la pa sipòte; se sistèm nan mete ajou pa nan nivo eleman endividyèl yo, men kòm yon antye, atomik chanje eta li yo. Ofri zouti pou aplike mizajou dezagreman, elimine nesesite pou konplètman ranplase imaj la ak chak aktyalizasyon.

Anviwònman izole pwodwi a se konplètman endepandan de distribisyon an itilize epi, ak anviwònman apwopriye nan pake a, pa gen aksè a dosye ak pwosesis nan itilizatè a oswa sistèm prensipal la, pa ka dirèkteman gen aksè a ekipman an, ak eksepsyon de pwodiksyon atravè DRI, ak apèl nan subsistèm rezo a. Pwodiksyon grafik ak òganizasyon opinyon yo aplike lè l sèvi avèk pwotokòl Wayland oswa atravè transmisyon priz X11. Entèaksyon ak anviwònman ekstèn lan baze sou sistèm mesaj DBus ak yon API Portals espesyal.

Pou izolasyon, yo itilize kouch Bubblewrap la ak teknoloji tradisyonèl Linux pou virtualizasyon veso, ki baze sou itilizasyon cgroups, namespaces, Seccomp ak SELinux. PulseAudio yo itilize pou pwodiksyon son. Nan ka sa a, izolasyon ka enfim, ki itilize pa devlopè yo nan anpil pakè popilè yo jwenn aksè konplè nan sistèm nan dosye ak tout aparèy nan sistèm nan. Pou egzanp, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, ak VLC vini ak yon mòd izolasyon limite ki kite aksè konplè nan anyè kay la. Si pakè ki gen aksè nan anyè lakay yo konpwomèt, malgre prezans etikèt "sandboxed" nan deskripsyon pake a, atakè a sèlman bezwen chanje dosye ~/.bashrc pou egzekite kòd li. Yon pwoblèm separe se kontwòl chanjman nan pakè ak konfyans nan mason pake, ki souvan pa asosye ak pwojè prensipal la oswa distribisyon.

Sous: opennet.ru

Add nouvo kòmantè