Release des Systems für eigenständige Pakete Flatpak 1.6.0

Veröffentlicht ein neuer stabiler Branch des Tools Flatpak 1.6, der ein System zur Erstellung von eigenständigen Paketen 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 Unterstützung zur Ausführung von Flatpak-Paketen ist für Arch Linux CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint und Ubuntu verfügbar. Flatpak-Pakete sind im Fedora-Repository enthalten und werden in der standardmäßigen GNOME-Anwendungsverwaltung unterstützt.

Schlüssige Neuheiten im Branch Flatpak 1.6:

  • In API-Portal Die Methode CreateUpdateMonitor wurde hinzugefügt, um es Anwendungen zu ermöglichen, die Verfügbarkeit von Updates zu verfolgen und deren Installation zu beantragen.
    Um das Recht zur eigenständigen Installation von Updates durch die Anwendung zu entziehen, kann der Befehl „flatpak permission-set flatpak updates $APPID no“ verwendet werden (bei Angabe von „ask“ anstelle von „no“ wird bei jedem Update ein Dialog zur Bestätigung angezeigt);


  • Zur Vereinfachung der Erstellung von Handlern wurde die Bibliothek
    libportal vorgeschlagen, die die Verarbeitung von Ereignissen ohne direkte Verwendung des API-Portals und das Parsen der über D-Bus empfangenen Signale ermöglicht.
    Libportal bietet einfache, asynchron arbeitende Schichten für die meisten „von Portalen«;
  • Eine neue Berechtigung „—socket=cups“ wurde hinzugefügt, um direkten Zugriff auf den CUPS-Druckserver zu gewähren;
  • Das Protokoll und die API zur Handhabung der Authentifizierung wurden geändert. Ein Authentifikator für OCI (Open Container Initiative) wurde hinzugefügt. Es wurde die Unterstützung für die automatische Installation von Authentifikatoren aus einem externen Flatpak-Repository implementiert. In FlatpakTransaction wurde ein Callback-Handler zur Verwendung der Authentifizierung mit Benutzername und Passwort ähnlich der HTTP Basic-Authentifizierung hinzugefügt;
  • Unterstützung für sichere Anwendungen und Systeme hinzugefügt, die Authentifizierung beim Laden erfordern;
  • Die zur Isolation verwendete Schicht bubblewrap wurde auf die neueste Version aktualisiert 0.4.0;
  • Optionale Unterstützung für die Elternkontrolle durch die Verwendung der Bibliothek libmalcontent, die den Zugang zu bestimmten Arten von Inhalten einschränkt;
  • Erweiterungen werden jetzt vor der Anwendung installiert, sodass die Anwendung sofort nach Abschluss der Installation verfügbar ist;
  • Die Handhabung von temporären Dateien wurde überarbeitet, was die Leistung bei geringem Speicherplatz verbessert hat;
  • Für den Befehl „flatpak enter“ ist kein sudo mehr erforderlich;
  • Die Portale ermöglichen jetzt das Starten von verschachtelten isolierten Umgebungen (sub-sandbox) für untergeordnete Prozesse;
  • Neue Befehle „flatpak permission-set“ und „permission-remove“ wurden hinzugefügt, um die Berechtigungsinstallation zu verwalten;
  • Die Option „flatpak install —or-update“ wurde hinzugefügt, die ein Upgrade durchführt, wenn die Anwendung bereits installiert ist;
  • Der Befehl „flatpak mask“ wurde hinzugefügt, um die Version festzulegen und die Installation von Updates zu sperren;
  • Für OCI (Open Container Initiative) Images wurde die Unterstützung für das Binden von Tags, die Generierung von Änderungshistorien im Image und die Einbeziehung von Docker-MIME-Typen neben OCI-MIME-Typen hinzugefügt;
  • In die Einstellungen wurde der Schlüssel default-languages aufgenommen, um die Liste der verwendeten Sprachen zusätzlich zur systemweiten Liste festzulegen.

Erinnern wir daran, dass Flatpak Anwendungsentwicklern die Möglichkeit bietet, die Verbreitung ihrer Programme zu erleichtern, die nicht in den offiziellen Repositories der Distributionen enthalten sind, indem... Vorbereitung ein universelles Containerformat, das keine separaten Builds für jede Distribution erfordert. Benutzern, die auf Sicherheit bedacht sind, ermöglicht Flatpak, unsichere Anwendungen in einem Container auszuführen, wobei nur der Zugriff auf Netzwerkfunktionen und benutzerspezifische Dateien, die mit der Anwendung verbunden sind, gewährt wird. Benutzern, die an Neuigkeiten interessiert sind, erlaubt Flatpak die Installation der neuesten Test- und stabilen Versionen von Anwendungen, ohne dass Änderungen am System erforderlich sind. Zum Beispiel sind derzeit Flatpak-Pakete bereits zusammengestellt für LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio usw.

Um die Paketgröße zu reduzieren, umfasst es nur anwendungsspezifische Abhängigkeiten, während grundlegende System- und Grafikbibliotheken (wie Gtk+, Qt, sowie GNOME- und KDE-Bibliotheken usw.) in Form von verbindlichen Standard-Runtime-Umgebungen bereitgestellt werden. Ein grundlegender Unterschied zwischen Flatpak und Snap besteht darin, dass Snap die Komponenten der Hauptsystemumgebung nutzt und eine Isolierung mithilfe von Systemaufruf-Filtering durchführt, während Flatpak einen vom System separaten Container erstellt und mit umfangreichen Runtime-Sets arbeitet, die nicht als Pakete, sondern als standardisierte Systemumgebungen bereitgestellt werden (zum Beispiel alle Bibliotheken, die zur Ausführung von GNOME- oder KDE-Anwendungen erforderlich sind).

Neben der standardisierten Systemumgebung (Runtime), die über einen speziellen Repository, werden zusätzliche Abhängigkeiten (Bundle) bereitgestellt, die für den Betrieb der Anwendung erforderlich sind. Zusammen bilden Runtime und Bundle die Grundlage des Containers, wobei die Runtime separat installiert wird und mehreren Containern zugeordnet werden kann. Dies ermöglicht die Vermeidung von Duplizierung gemeinsamer Systemdateien für die Container. In einem System können mehrere verschiedene Runtimes (GNOME, KDE) oder mehrere Versionen einer Runtime (GNOME 3.26, GNOME 3.28) installiert sein. Der Container mit der Anwendung als Abhängigkeit verwendet die Bindung nur zu einer bestimmten Runtime, ohne die einzelnen Pakete zu berücksichtigen, aus denen die Runtime besteht. Alle fehlenden Elemente werden direkt zusammen 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 Grundlage der Runtime und der Anwendungscontainer wird mithilfe von Technologien erstellt. OSTree, bei dem das Image atomar aus einem Git-ähnlichen Repository aktualisiert wird, sodass Methoden zur Versionskontrolle auf die Komponenten der Distribution angewendet werden können (z. B. kann das System schnell auf einen früheren Zustand zurückgesetzt werden). RPM-Pakete werden mithilfe einer speziellen Schicht in das OSTree-Repository übersetzt. rpm-ostree. Eine separate Installation und Aktualisierung von Paketen innerhalb der Arbeitsumgebung wird nicht unterstützt, das System wird nicht auf der Ebene einzelner Komponenten, sondern in Gänze aktualisiert, wobei der Zustand atomar geändert wird. Es stehen Werkzeuge zur Verfügung, die inkrementelle Aktualisierungen ermöglichen und die vollständige Ersetzung des Abbilds bei jeder Aktualisierung überflüssig machen.

Die isolierte Umgebung wird vollständig unabhängig von der verwendeten Distribution erstellt und hat bei entsprechender Paketkonfiguration keinen Zugriff auf die Dateien und Prozesse des Benutzers oder des Hauptsystems. Direkter Zugriff auf die Hardware ist nicht möglich, außer über DRI und das Netzwerk subsystem. Die Ausgabe von Grafiken und die Eingabeverwaltung. werden umgesetzt durch das Wayland-Protokoll oder über den X11-Socket-Forwarding. Die Interaktion mit der Außenwelt basiert auf dem DBus-Nachrichtenaustauschsystem und einer speziellen API für Portale. Zur Isolation genutzt. Schicht Bubblewrap und die traditionellen Linux-Technologien zur Container-Virtualisierung, die auf cgroups, Namespaces, Seccomp und SELinux beruhen. Für die Audioausgabe wird PulseAudio verwendet.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster