Release des selbstÀndigen Paket-Systems Flatpak 1.14.0

Ein neuer stabiler Branch des Flatpak-Tools 1.14 wurde veröffentlicht, das ein System zur Erstellung selbstĂ€ndiger Pakete bietet, die nicht an bestimmte Linux-Distributionen gebunden sind und in einem speziellen Container ausgefĂŒhrt werden, der die Anwendung vom Rest des Systems isoliert. Die AusfĂŒhrung von Flatpak-Paketen wird fĂŒr Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux und Ubuntu unterstĂŒtzt. Flatpak-Pakete sind im Fedora-Repository enthalten und werden von der integrierten Anwendungsverwaltungssoftware GNOME unterstĂŒtzt.

Wichtige Neuerungen im Branch Flatpak 1.14:

  • Es wurde ein Verzeichnis fĂŒr Dateien im Zustand (.local/state) erstellt, und die Umgebungsvariable XDG_STATE_HOME wurde auf dieses Verzeichnis gesetzt.
  • Bedingte ÜberprĂŒfungen in der Form „have-kernel-module-Name“ wurden hinzugefĂŒgt, um die VerfĂŒgbarkeit von Kernelmodulen zu bestimmen (ein universeller Ersatz fĂŒr die zuvor angebotene ÜberprĂŒfung have-intel-gpu; stattdessen kann jetzt der Ausdruck „have-kernel-module-i915“ verwendet werden).
  • Der Befehl „flatpak document-unexport —doc-id=
“ wurde implementiert.
  • Die Exportierung von Appstream-Metadaten zur Verwendung in der Hauptumgebung wurde sichergestellt.
  • Auto-VervollstĂ€ndigungsregeln fĂŒr Flatpak-Befehle wurden fĂŒr die Shell Fish hinzugefĂŒgt.
  • Der Netzwerkzugang zu X11- und PulseAudio-Diensten wurde erlaubt (bei HinzufĂŒgung entsprechender Einstellungen).
  • Der Hauptbranch im Git-Repository wurde von „master“ in „main“ umbenannt, da das Wort „master“ in letzter Zeit als unpolitisch korrekt angesehen wird.
  • Die Überschreibung von Startskripten im Fall einer Umbenennung der Anwendung wurde sichergestellt.
  • Den install-Befehl wurden die Optionen „—include-sdk“ und „—include-debug“ zum Installieren von SDK und Debuginfo-Dateien hinzugefĂŒgt.
  • Die Dateien flatpakref und flatpakrepo unterstĂŒtzen jetzt den Parameter „DeploySideloadCollectionID“, bei dessen Installation die Identifikation der Sammlung beim HinzufĂŒgen des Remote-Repositorys festgelegt wird, und nicht erst nach dem Herunterladen der Metadaten.
  • Das Erstellen von verschachtelten Sandbox-Umgebungen fĂŒr Handler in Sitzungen mit separaten MPRIS-Namen (Media Player Remote Interfacing Specification) wurde ermöglicht.
  • In den Kommandozeilen-Utilities wird die Ausgabe von Informationen zur Verwendung veralteter Runtime-Erweiterungen sichergestellt.
  • Im Uninstall-Befehl wurde eine BestĂ€tigungsanfrage vor der Entfernung von Runtime oder Runtime-Erweiterungen, die noch verwendet werden, implementiert.
  • Den Befehlen wie „flatpak run“ wurde die UnterstĂŒtzung der Option „—socket=gpg-agent“ hinzugefĂŒgt.
  • In libostree wurde eine SicherheitsanfĂ€lligkeit behoben, die es einem Benutzer möglicherweise ermöglicht, beliebige Dateien im System durch Manipulation des flatpak-system-helper Handlers (Versenden einer Anfrage zur Löschung mit einem speziell formatierten Branch-Namen) zu löschen. Das Problem tritt nur in Ă€lteren Versionen von Flatpak und libostree auf, die vor 2018 veröffentlicht wurden (< 0.10.2), und betrifft nicht die aktuellen Versionen.

Wir erinnern daran, dass Flatpak-Anwendungsentwicklern die Möglichkeit bietet, die Verbreitung ihrer Programme zu vereinfachen, die nicht in den Standard-Repositories der Distributionen verfĂŒgbar sind, indem sie einen universellen Container vorbereiten, ohne separate Builds fĂŒr jede Distribution erstellen zu mĂŒssen. Benutzern, die auf Sicherheit bedacht sind, ermöglicht Flatpak, problematische Anwendungen in einem Container auszufĂŒhren und dabei nur auf Netzwerkfunktionen sowie auf benutzerspezifische Dateien zuzugreifen, die mit der Anwendung in Verbindung stehen. Benutzern, die an Neuigkeiten interessiert sind, erlaubt Flatpak, die neuesten Test- und stabilen Versionen von Anwendungen zu installieren, ohne Änderungen am System vorzunehmen. Beispielsweise werden Flatpak-Pakete fĂŒr LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio usw. bereitgestellt.

Um die PaketgrĂ¶ĂŸe zu reduzieren, enthĂ€lt es nur spezifische AbhĂ€ngigkeiten fĂŒr die Anwendung, wĂ€hrend grundlegende system- und grafikbibliotheken (GTK, Qt, GNOME- und KDE-Bibliotheken usw.) als Plug-in-Standard-Runtime-Umgebungen bereitgestellt werden. Der wesentliche Unterschied zwischen Flatpak und Snap besteht darin, dass Snap die Komponenten der Hauptsystemumgebung und eine Isolation auf der Basis von gefilterten Systemaufrufen verwendet, wĂ€hrend Flatpak einen vom System getrennten Container erstellt und große Runtime-Sets verwendet, wobei nicht Pakete, sondern Standard-Systemumgebungen (zum Beispiel alle Bibliotheken, die fĂŒr die AusfĂŒhrung von GNOME- oder KDE-Programmen erforderlich sind) als AbhĂ€ngigkeiten bereitgestellt werden.

Neben der typischen Systemumgebung (runtime), die ĂŒber ein spezielles Repository installiert wird, werden zusĂ€tzliche AbhĂ€ngigkeiten (bundle) bereitgestellt, die fĂŒr den Betrieb der Anwendung erforderlich sind. Zusammen bilden runtime und bundle die Inhalte des Containers, wobei runtime separat installiert wird und gleichzeitig mit mehreren Containern verbunden ist, was eine Duplizierung gemeinsamer Systemdateien fĂŒr die Container vermeidet. In einem System können mehrere unterschiedliche runtimes (GNOME, KDE) oder mehrere Versionen einer runtime (GNOME 3.40, GNOME 3.42) installiert werden. Der Container mit der Anwendung als AbhĂ€ngigkeit verwendet die Bindung nur an eine bestimmte runtime, ohne BerĂŒcksichtigung der einzelnen Pakete, aus denen die runtime besteht. Alle fehlenden Elemente werden direkt mit der Anwendung verpackt. Bei der Erstellung des Containers wird der Inhalt der runtime als Partition /usr gemountet, wĂ€hrend das bundle im Verzeichnis /app gemountet wird.

Die Inhalte der runtime und der Anwendungscontainer werden mit der OSTree-Technologie erstellt, bei der das Abbild atomar aus einem git-Ă€hnlichen Repository aktualisiert wird, das es ermöglicht, Methoden der Versionskontrolle auf die Komponenten des Distributionspakets anzuwenden (zum Beispiel kann das System schnell in einen vorherigen Zustand zurĂŒckgesetzt werden). RPM-Pakete werden ĂŒber eine spezielle Schicht rpm-ostree in das OSTree-Repository ĂŒbertragen. Eine separate Installation und Aktualisierung von Paketen innerhalb der Arbeitsumgebung wird nicht unterstĂŒtzt, das System wird nicht auf der Ebene einzelner Komponenten, sondern als Ganzes aktualisiert, indem es atomar seinen Zustand Ă€ndert. Es stehen Mittel zur VerfĂŒgung, um inkrementelle Aktualisierungen anzuwenden, die die Notwendigkeit einer vollstĂ€ndigen Ersetzung des Abbilds bei jeder Aktualisierung beseitigen.

Die gebildete isolierte Umgebung ist vollstĂ€ndig unabhĂ€ngig von der verwendeten Distribution und hat bei ordnungsgemĂ€ĂŸer Paketkonfiguration keinen Zugang zu den Dateien und Prozessen des Benutzers oder des Hauptsystems, kann nicht direkt auf die Hardware zugreifen, mit Ausnahme der Ausgabe ĂŒber DRI, sowie Zugriffe auf die Netzwerksubsystem. Die Ausgabe der Grafik und die Eingabeverwaltung erfolgen ĂŒber das Protokoll Wayland oder durch das Durchreichen von X11-Sockets. Die Interaktion mit der Außenwelt basiert auf dem DBus-Nachrichtenaustauschsystem und einer speziellen API namens Portals.

FĂŒr die Isolierung wird die Schicht Bubblewrap sowie traditionelle Technologien zur Container-Virtualisierung unter Linux verwendet, die auf cgroups, Namespaces, Seccomp und SELinux basieren. Zur Audioausgabe wird PulseAudio eingesetzt. Dabei kann die Isolierung deaktiviert werden, was Entwickler vieler populĂ€rer Pakete nutzen, um vollstĂ€ndigen Zugriff auf das Dateisystem und alle GerĂ€te im System zu erhalten. So werden Pakete wie GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity und VLC mit einem eingeschrĂ€nkten Isolationsmodus geliefert, der vollen Zugriff auf das Home-Verzeichnis gewĂ€hrt. Im Falle einer Kompromittierung der Pakete mit Zugriff auf das Home-Verzeichnis reicht es fĂŒr einen Angreifer, der Beschreibung des Pakets das Label „sandboxed“ zum Trotz, die Datei ~/.bashrc zu Ă€ndern. Ein separates Thema ist die Kontrolle ĂŒber Änderungen an den Paketen und das Vertrauen in die Paketbauer, die hĂ€ufig nicht mit dem Hauptprojekt oder den Distributionen verbunden sind.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster