Veröffentlichung des eigenständigen Paketsystems Flatpak 1.6.0

Veröffentlicht neuer stabiler Zweig des Toolkits Flatpack 1.6, das ein System zum Erstellen eigenständiger Pakete bereitstellt, die nicht an bestimmte Linux-Distributionen gebunden sind und in einem speziellen Container ausgeführt werden, der die Anwendung vom Rest des Systems isoliert. Unterstützung für die Ausführung von Flatpak-Paketen wird für Arch Linux bereitgestellt. CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint und Ubuntu. Flatpak-Pakete sind im Fedora-Repository enthalten und werden vom nativen GNOME-Anwendungsmanager unterstützt.

Taste Innovationen im Flatpak 1.6-Zweig:

  • В API-Portal Die CreateUpdateMonitor-Methode wurde hinzugefügt, mit der Anwendungen das Erscheinen von Updates überwachen und die Installation des aktualisierten Updates anfordern können.
    Um einer Anwendung die Erlaubnis zu verweigern, Updates unabhängig zu installieren, können Sie den Befehl „flatpak freedom-set flatpak Updates $APPID no“ verwenden (wenn Sie „ask“ anstelle von „no“ angeben, wird jedes Mal ein Dialog zur Bestätigung angezeigt aktualisieren);


  • Um die Erstellung von Handlern zu vereinfachen, wird eine Bibliothek vorgeschlagen
    libportal, das es ermöglicht, Ereignisse zu verarbeiten, ohne die Portal-API direkt zu verwenden und über D-Bus eingehende Signale zu analysieren.
    Libportal bietet einfache, asynchron laufende Schichten für die meisten „Portale„;

  • Neue Berechtigung „--socket=cups“ hinzugefügt, um direkten Zugriff auf den CUPS-Druckserver zu ermöglichen;
  • Das Protokoll und die API zur Handhabung der Authentifizierung wurden geändert. Authentifikator für OCI (Open Container Initiative) hinzugefügt. Unterstützung für die automatische Installation von Authentifikatoren aus dem externen Flatpak-Repository implementiert. FlatpakTransaction wurde ein Callback-Handler hinzugefügt, um die Anmelde- und Kennwortauthentifizierung zu verwenden, ähnlich der HTTP-Basisauthentifizierungsmethode.
  • Unterstützung für geschützte Anwendungen und Systeme hinzugefügt, die beim Booten eine Authentifizierung erfordern;
  • Die zur Isolierung verwendete Luftpolsterfolie wurde auf Release aktualisiert 0.4.0;
  • Optionale Unterstützung für Kindersicherung über die Bibliotheksanwendung hinzugefügt libmalcontent, mit dem Sie den Zugriff auf bestimmte Arten von Inhalten beschränken können;
  • Erweiterungen werden jetzt vor der Anwendung installiert, sodass Sie sofort nach Abschluss der Installation eine funktionsfähige Anwendung erhalten.
  • Manipulationen mit temporären Dateien wurden überarbeitet, was zu einer verbesserten Leistung bei Mangel an freiem Speicherplatz führt;
  • Um den Befehl auszuführen „Flatpak tritt ein„Die Verwendung von sudo ist nicht mehr erforderlich;
  • Den Portalen wurde die Möglichkeit hinzugefügt, verschachtelte isolierte Umgebungen (Sub-Sandbox) für untergeordnete Prozesse zu starten.
  • Neue Befehle „Flatpak Permission-Set“ und „Permission-Remove“ hinzugefügt, um die Berechtigungseinstellung zu steuern;
  • Option „flatpak install --or-update“ hinzugefügt, die ein Update durchführt, wenn die Anwendung bereits installiert ist;
  • Der Befehl „flatpak mask“ wurde hinzugefügt, um die Version zu reparieren und die Installation von Updates zu verhindern.
  • Für Bilder im OCI-Format (Open Container Initiative) wurde Unterstützung für das Binden von Beschriftungen, das Generieren eines Änderungsverlaufs im Bild und das Aktivieren von Docker-Mime-Typen zusätzlich zu den OCI-Mime-Typen hinzugefügt.
  • Den Einstellungen wurde der Schlüssel „Standardsprachen“ hinzugefügt, um zusätzlich zur Systemliste die Liste der verwendeten Sprachen zu definieren.

Wir möchten Sie daran erinnern, dass Flatpak es Anwendungsentwicklern ermöglicht, die Verteilung ihrer Programme, die nicht in den Standard-Distributions-Repositorys enthalten sind, zu vereinfachen ausbildung ein universeller Container, ohne für jede Verteilung separate Assemblys zu erstellen. Für sicherheitsbewusste Benutzer ermöglicht Flatpak die Ausführung einer fragwürdigen Anwendung in einem Container und bietet nur Zugriff auf die Netzwerkfunktionen und Benutzerdateien, die mit der Anwendung verknüpft sind. Für Benutzer, die an neuen Produkten interessiert sind, ermöglicht Flatpak die Installation der neuesten Test- und stabilen Versionen von Anwendungen, ohne dass Änderungen am System vorgenommen werden müssen. Derzeit gibt es beispielsweise bereits Flatpak-Pakete gehen zu für LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio usw.

Um die Größe des Pakets zu reduzieren, enthält es nur anwendungsspezifische Abhängigkeiten und die grundlegenden System- und Grafikbibliotheken (Gtk+-, Qt-, GNOME- und KDE-Bibliotheken usw.) sind als Plug-in-Standardlaufzeitumgebungen konzipiert. Der Hauptunterschied zwischen Flatpak und Snap besteht darin, dass Snap die Komponenten der Hauptsystemumgebung und Isolation basierend auf filternden Systemaufrufen verwendet, während Flatpak einen vom System getrennten Container erstellt und mit großen Laufzeitsätzen arbeitet und Pakete nicht als Abhängigkeiten, sondern als Standard bereitstellt Ihre Systemumgebungen (zum Beispiel alle Bibliotheken, die für den Betrieb von GNOME- oder KDE-Programmen notwendig sind).

Zusätzlich zur Standard-Systemumgebung (Laufzeit), installiert über eine spezielle Repositorywerden zusätzliche Abhängigkeiten (Bundle) bereitgestellt, die für die Funktionsfähigkeit der Anwendung erforderlich sind. Insgesamt bilden Runtime und Bundle die Füllung des Containers, obwohl Runtime separat installiert und an mehrere Container gleichzeitig gebunden wird, wodurch Sie die Duplizierung von Systemdateien vermeiden können, die für Container üblich sind. Auf einem System können mehrere unterschiedliche Laufzeiten (GNOME, KDE) oder mehrere Versionen derselben Laufzeit (GNOME 3.26, GNOME 3.28) installiert sein. Ein Container mit einer Anwendung als Abhängigkeit verwendet eine Bindung nur an eine bestimmte Laufzeit, ohne die einzelnen Pakete zu berücksichtigen, aus denen die Laufzeit besteht. Alle fehlenden Elemente werden direkt mit der Anwendung gepackt. Wenn ein Container erstellt wird, werden die Laufzeitinhalte als /usr-Partition bereitgestellt und das Bundle wird im Verzeichnis /app bereitgestellt.

Die Befüllung von Laufzeit- und Anwendungscontainern erfolgt technologisch OSTree, bei dem das Image atomar aus einem Git-ähnlichen Repository aktualisiert wird, wodurch Sie Versionskontrollmethoden auf die Komponenten der Distribution anwenden können (z. B. können Sie das System schnell auf einen früheren Zustand zurücksetzen). RPM-Pakete werden über eine spezielle Ebene in das OSTree-Repository übersetzt rpm-otree. Die 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 und ändert seinen Zustand atomar. Bietet Tools zum schrittweisen Anwenden von Updates, sodass das Image nicht bei jedem Update vollständig ersetzt werden muss.

Die generierte isolierte Umgebung ist völlig unabhängig von der verwendeten Distribution und hat bei korrekten Paketeinstellungen keinen Zugriff auf Dateien und Prozesse des Benutzers oder des Hauptsystems, kann nicht direkt auf die Geräte zugreifen, mit Ausnahme der Ausgabe über DRI, und die Netzwerk-Subsystem. Organisation der Grafikausgabe und -eingabe umgesetzt über das Wayland-Protokoll oder über die X11-Socket-Weiterleitung. Die Interaktion mit der externen Umgebung basiert auf dem DBus-Nachrichtensystem und einer speziellen Portals-API. Zur Isolierung benutzt Zwischenschicht bubblewrap und traditionelle Linux-Containervirtualisierungstechnologien basierend auf der Verwendung von Cgroups, Namespaces, Seccomp und SELinux. PulseAudio wird zur Tonausgabe verwendet.

Source: opennet.ru

Kommentar hinzufügen