Verëffentlechung vum Flatpak 1.14.0 selbstänneg Package System

Eng nei stabil Branche vum Flatpak 1.14 Toolkit gouf publizéiert, deen e System ubitt fir selbststänneg Packagen ze bauen, déi net mat spezifesche Linux Verdeelungen gebonne sinn an an engem speziellen Container lafen, deen d'Applikatioun vum Rescht vum System isoléiert. Ënnerstëtzung fir Flatpak Packagen ze lafen gëtt fir Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux an Ubuntu geliwwert. Pakete mat Flatpak sinn am Fedora Repository abegraff an am gebiertege GNOME Applikatiounsmanager ënnerhalen.

Schlëssel Innovatiounen an der Flatpak 1.14 Branche:

  • Erstellt e Verzeechnes fir Dateien am Staat (.local/state) a setzt d'XDG_STATE_HOME Ëmfeldvariabel op dës Verzeechnes.
  • Bedingungskontrolle vun der Form "hunn-Kernel-Modul-Numm" bäigefüügt fir d'Präsenz vu Kärmoduler ze bestëmmen (en universellen Analog vum virdru proposéierte Scheck hunn-intel-gpu, anstatt deem den Ausdrock "hunn-Kernel-Modul-i915 "kann elo benotzt ginn).
  • Implementéiert "flatpak document-unexport --doc-id=..." Kommando.
  • Bitt Export vun Appstream Metadaten fir am Haaptëmfeld ze benotzen.
  • Füügt flatpak Kommando Ofschlossregele fir d'Fësch Shell
  • Erlaabt Netzwierk Zougang zu X11 a PulseAudio Servicer (wann entspriechend Astellunge bäigefüügt ginn).
  • D'Haaptzweig am Git Repository gouf vum "Master" op "Main" ëmbenannt, well d'Wuert "Master" zënter kuerzem als politesch inkorrekt ugesi gouf.
  • Gitt Iwwerschreiwe vun Startup Scripten am Fall vun der Applikatioun ëmbenennen.
  • Added "--include-sdk" an "--include-debug" Optiounen fir Kommando z'installéieren fir SDK an Debuginfo Dateien z'installéieren.
  • Ënnerstëtzung fir de Parameter "DeploySideloadCollectionID" gouf an d'Flatpakref- a Flatpakrepo-Dateien bäigefüügt, wann se agestallt ginn, gëtt d'Sammlungs-ID während der Zousatz vum Remote-Repository festgeluegt, an net nodeems d'Metadaten gelueden sinn.
  • Et ass erlaabt nestet Sandbox Ëmfeld fir Handler a Sessiounen mat getrennten Nimm MPRIS (Media Player Remote Interfacing Specification) ze kreéieren.
  • Kommando-Linn Utilities weisen Informatioun iwwer d'Benotzung vun verouderte Runtime Extensiounen.
  • Den Uninstall Kommando implementéiert eng Bestätegungsufro ier Dir Runtime oder Runtime Extensiounen ewechhuelt, déi nach ëmmer am Gebrauch sinn.
  • Zousätzlech Ënnerstëtzung fir "--socket = gpg-agent" Optioun fir Kommandoen wéi "flatpak run".
  • Eng Schwachstelle gouf am libostree fixéiert, déi potenziell e Benotzer erlaabt arbiträr Dateien um System ze läschen duerch Manipulatioun vum flatpak-system-helper-Handler (eng Läsch-Ufro mat engem speziell formatéierte Branchenumm schéckt). De Problem trëtt nëmmen an eelere Versioune vu Flatpak a libostree virum 2018 eraus (< 0.10.2) an beaflosst keng aktuell Verëffentlechungen.

Denkt drun datt Flatpak et méiglech mécht fir Applikatioun Entwéckler d'Verdeelung vun hire Programmer ze vereinfachen, déi net an de reguläre Verdeelungsrepositories abegraff sinn, andeems een en Universalbehälter virbereet ouni separat Versammlungen fir all Verdeelung ze kreéieren. Fir Sécherheetsbewosst Benotzer erlaabt Flatpak eng zweifelhafte Applikatioun fir an engem Container ze lafen, andeems se nëmmen Zougang zu den Netzwierkfunktiounen a Benotzerdateien mat der Applikatioun verbonne ginn. Fir Benotzer déi interesséiert sinn wat Neies ass, erlaabt Flatpak Iech déi lescht Tester a stabile Verëffentlechungen vun Uwendungen z'installéieren ouni Ännerunge vum System ze maachen. Zum Beispill, Flatpak Packagen gi fir LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Fir d'Gréisst vum Package ze reduzéieren, enthält et nëmmen Applikatiounsspezifesch Ofhängegkeeten, an d'Basis System a Grafikbibliothéiken (GTK, Qt, GNOME a KDE Bibliothéiken, etc.) sinn als pluggbar typesch Runtime-Ëmfeld entworf. De Schlësselunterscheed tëscht Flatpak a Snap ass datt Snap d'Komponente vum Haaptsystem Ëmfeld an Isolatioun benotzt baséiert op System Uruff Filteren, wärend Flatpak e Container getrennt vum System erstellt a mat grousse Runtime Sets operéiert, déi typesch Packagen ubitt anstatt Packagen als Ofhängegkeeten. . System Ëmfeld (zum Beispill all Bibliothéiken déi néideg sinn fir GNOME oder KDE Programmer ze lafen).

Zousätzlech zu der typescher Systemëmfeld (Runtime) déi duerch e spezielle Repository installéiert ass, ginn zousätzlech Ofhängegkeeten (Bündel) erfuerderlech fir d'Applikatioun ze schaffen geliwwert. Am Ganzen bilden d'Runtime a Bündel d'Füllung vum Container, während d'Runtime getrennt installéiert ass an un e puer Container gläichzäiteg gebonnen ass, wat et méiglech mécht Duplikatioune vu Systemdateien ze vermeiden, déi allgemeng fir Container sinn. Ee System kann e puer verschidde Runtime installéiert hunn (GNOME, KDE) oder verschidde Versioune vun der selwechter Runtime (GNOME 3.40, GNOME 3.42). E Container mat enger Applikatioun als Ofhängegkeet benotzt Bindung nëmme fir eng spezifesch Runtime, ouni déi eenzel Packagen ze berücksichtegen, déi d'Runtime ausmaachen. All fehlend Elementer ginn direkt mat der Applikatioun verpackt. Wann de Container geformt ass, gëtt den Inhalt vun der Runtime als /usr Partition montéiert, an de Bündel ass am /app Verzeichnis montéiert.

D'Füllung vun de Runtime- an Applikatiounscontainer gëtt mat der OSTree Technologie geformt, an där d'Bild atomesch vun enger Git-ähnlecher Späichere aktualiséiert gëtt, wat Iech erlaabt Versiounskontrollmethoden op Verdeelungskomponenten z'applizéieren (zum Beispill kënnt Dir de System séier zréckrollen zum fréiere Staat). RPM Packagen ginn an den OSTree Repository iwwersat mat enger spezieller rpm-ostree Schicht. Separat Installatioun an Aktualiséierung vu Packagen am Aarbechtsëmfeld gëtt net ënnerstëtzt, de System gëtt net um Niveau vun eenzelne Komponenten aktualiséiert, awer als Ganzt, atomesch Ännerung vum Zoustand. Tools ginn zur Verfügung gestallt fir Updates inkrementell anzebezéien, eliminéiert d'Notzung fir d'Bild komplett mat all Update z'ersetzen.

Dat generéiert isoléiert Ëmfeld ass komplett onofhängeg vun der benotzter Verdeelung an huet, mat properem Package Astellungen, keen Zougang zu Dateien a Prozesser vum Benotzer oder dem Haaptsystem, kann net direkt op d'Ausrüstung zougräifen, ausser fir d'Ausgab iwwer DRI, an Zougang zu den Netzwierk Subsystem. Grafikausgang an Inputorganisatioun gi mam Wayland Protokoll implementéiert oder duerch X11 Socket Forwarding. D'Interaktioun mam externen Ëmfeld ass op Basis vum DBus Messagerie System an der spezieller Portals API gebaut.

Fir Isolatioun ginn d'Bubblewrap Layer an traditionell Linux Container Virtualiséierungstechnologien baséiert op der Benotzung vu cgroups, Namespaces (Namespaces), Seccomp an SELinux benotzt. PulseAudio gëtt benotzt fir Toun auszeginn. An dësem Fall kann d'Isolatioun behënnert ginn, wat vun den Entwéckler vu ville populäre Packagen benotzt gëtt fir voll Zougang zum FS an all Apparater am System ze kréien. Zum Beispill, d'GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, a VLC Packagen kommen mat engem limitéierten Isolatiounsmodus, dee vollen Zougang zum Heemverzeechnes léisst. Wann Pakete mat Zougang zum Heemverzeichnis kompromittéiert sinn, trotz der Präsenz vum "Sandboxed" Label an der Package Beschreiwung, brauch den Ugräifer nëmmen d'~/.bashrc Datei z'änneren fir säi Code auszeféieren. E getrennten Thema ass d'Kontroll iwwer Ännerunge vu Packagen an d'Vertrauen an de Package Builder, déi dacks net mam Haaptprojet oder Verdeelunge verbonne sinn.

Source: opennet.ru

Setzt e Commentaire