Sortie du système de package autonome Flatpak 1.8.0

Publié nouvelle branche stable de la boîte à outils Flatpack 1.8, qui fournit un système permettant de créer des packages autonomes qui ne sont pas liés à des distributions Linux spécifiques et qui s'exécutent dans un conteneur spécial qui isole l'application du reste du système. La prise en charge de l'exécution des packages Flatpak est fournie pour Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint et Ubuntu. Les packages Flatpak sont inclus dans le référentiel Fedora et sont pris en charge par le gestionnaire d'applications natif GNOME.

Clé les innovations dans la branche Flatpak 1.8 :

  • La mise en œuvre de l'installation en mode P2P a été simplifiée (permet d'organiser le chargement des applications et des ensembles d'exécution via des nœuds intermédiaires ou des lecteurs pour les systèmes sans connexion réseau). La prise en charge de l'installation via des hôtes intermédiaires sur le réseau local a été interrompue. Par défaut, le chargement latéral automatique des référentiels situés sur les clés USB locales est désactivé. Pour activer les référentiels locaux intermédiaires, vous devez configurer le référentiel en créant un lien symbolique depuis /var/lib/flatpak/sideload-repos ou
    /run/flatpak/sideload-repos. Le changement a simplifié la mise en œuvre interne du mode P2P et augmenté son efficacité.

  • Ajout d'une unité systemd en option pour détecter automatiquement les référentiels supplémentaires sur les lecteurs USB externes connectés.
  • Pour les applications ayant accès au système de fichiers, le répertoire /lib de l'environnement hôte est transféré vers /run/host/lib.
  • De nouvelles autorisations d'accès FS ont été ajoutées - "host-etc" et "host-os", permettant l'accès aux répertoires système /etc et /usr.
  • Pour générer un code d'analyse de fichiers plus efficace, GVariant d'ostreee est utilisé variante-schema-compilateur.
  • Le crypt de build configure offre la possibilité de construire sans
    libsystemd;

  • Activation du montage des sockets Journal en mode lecture seule.
  • Ajout de la prise en charge de l'exportation de répertoires vers l'exportation de documents.
  • Permet un accès direct aux appareils audio ALSA pour les applications ayant accès à Pulseaudio.
  • Dans l'API FlatpakTransaction ajout d'un signal "install-authenticator" qui peut être utilisé par les clients pour installer les authentificateurs nécessaires pour terminer une transaction.
  • Utilisation autorisée des informations de fuseau horaire basées sur /etc/localtime du système hôte, ce qui a résolu les problèmes liés au fuseau horaire dans certaines applications.
  • Arrêt de l'installation du fichier env.d à partir de gdm car les générateurs systemd sont meilleurs pour cette tâche.
  • L'utilitaire create-usb a l'exportation de validation partielle activée par défaut.
  • Le fichier sysusers.d a été fourni pour créer les utilisateurs nécessaires via systemd.
  • L'option « -[no-]follow-redirect » a été ajoutée aux commandes « flatpak remote-add » et « flatpak submit » pour désactiver/activer la redirection vers un autre référentiel.
  • Dans le système
    portails Ajout de l'API Spawn pour obtenir le véritable ID de processus (PID) de l'application en cours d'exécution.

  • Tous les référentiels OCI (Open Container Initiative) ont été convertis pour utiliser l'authentificateur flatpak-oci-authenticator.
  • Ajout de l'option « --commit = » aux commandes « flatpak remote-info » et « flatpak update » pour définir une version spécifique des référentiels OCI.
  • Ajout de la prise en charge initiale des mises à jour delta pour les référentiels OCI.
  • Ajout de la commande "flatpak update", qui est un alias pour la commande "flatpak update".
  • Implémentation de scripts de complétion d'entrée pour le shell de commande fish.

Rappelons que Flatpak permet aux développeurs d'applications de simplifier la distribution de leurs programmes qui ne sont pas inclus dans les référentiels de distribution standards en la formation un conteneur universel sans créer d’assemblages séparés pour chaque distribution. Pour les utilisateurs soucieux de leur sécurité, Flatpak vous permet d'exécuter une application douteuse dans un conteneur, donnant accès uniquement aux fonctions réseau et aux fichiers utilisateur associés à l'application. Pour les utilisateurs intéressés par les nouveaux produits, Flatpak vous permet d'installer les dernières versions de test et stables des applications sans avoir besoin d'apporter des modifications au système. Par exemple, actuellement les packages Flatpak sont déjà vont à pour LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Pour réduire la taille du package, il inclut uniquement les dépendances spécifiques à l'application, et les bibliothèques système et graphiques de base (bibliothèques Gtk+, Qt, GNOME et KDE, etc.) sont conçues comme des environnements d'exécution standard de plug-in. La principale différence entre Flatpak et Snap est que Snap utilise les composants de l'environnement système principal et une isolation basée sur le filtrage des appels système, tandis que Flatpak crée un conteneur séparé du système et fonctionne avec de grands ensembles d'exécution, fournissant non pas des packages en tant que dépendances, mais des packages standard. leurs environnements système (par exemple, toutes les bibliothèques nécessaires au fonctionnement des programmes GNOME ou KDE).

En plus de l'environnement système standard (runtime), installé via un logiciel spécial dépôt, les dépendances supplémentaires (bundle) nécessaires au fonctionnement de l'application sont fournies. Au total, le runtime et le bundle constituent le remplissage du conteneur, malgré le fait que le runtime soit installé séparément et lié à plusieurs conteneurs à la fois, ce qui permet d'éviter la duplication des fichiers système communs aux conteneurs. Un système peut avoir plusieurs environnements d'exécution différents installés (GNOME, KDE) ou plusieurs versions du même environnement d'exécution (GNOME 3.26, GNOME 3.28). Un conteneur avec une application comme dépendance utilise une liaison uniquement avec un runtime spécifique, sans prendre en compte les packages individuels qui composent le runtime. Tous les éléments manquants sont emballés directement avec l'application. Lorsqu'un conteneur est formé, le contenu du runtime est monté en tant que partition /usr et le bundle est monté dans le répertoire /app.

Le remplissage des conteneurs d'exécution et d'application est effectué à l'aide de la technologie OSTree, dans lequel l'image est mise à jour atomiquement à partir d'un référentiel de type Git, permettant d'appliquer des méthodes de contrôle de version aux composants de la distribution (par exemple, vous pouvez rapidement restaurer le système à un état antérieur). Les packages RPM sont traduits dans le référentiel OSTree à l'aide d'une couche spéciale RPM-Ostree. L'installation et la mise à jour séparées des packages dans l'environnement de travail ne sont pas prises en charge ; le système n'est pas mis à jour au niveau des composants individuels, mais dans son ensemble, modifiant atomiquement son état. Fournit des outils pour appliquer les mises à jour de manière incrémentielle, éliminant ainsi le besoin de remplacer complètement l'image à chaque mise à jour.

L'environnement isolé généré est totalement indépendant de la distribution utilisée et, avec les paramètres appropriés du package, n'a pas accès aux fichiers et processus de l'utilisateur ou du système principal, ne peut pas accéder directement à l'équipement, à l'exception de la sortie via DRI, et le sous-système réseau. Organisation des sorties et entrées graphiques mis en œuvre en utilisant le protocole Wayland ou via la redirection de socket X11. L'interaction avec l'environnement externe est basée sur le système de messagerie DBus et une API spéciale Portals. Pour l'isolation d'occasion intercalaire bubblewrap et les technologies traditionnelles de virtualisation de conteneurs Linux basées sur l'utilisation de groupes de contrôle, d'espaces de noms, Seccomp et SELinux. PulseAudio est utilisé pour produire du son.

Source: opennet.ru

Ajouter un commentaire