Sortie du système de paquets autonomes Flatpak 1.6.0.

Publiée une nouvelle branche stable de l'outil Flatpak 1.6, qui fournit un système pour la création de paquets autonomes, indépendants des distributions Linux spécifiques et s'exécutant dans un conteneur spécial, isolant l'application du reste du système. La prise en charge de l'exécution des paquets Flatpak est assurée pour Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint et Ubuntu. Les paquets Flatpak sont inclus dans le dépôt Fedora et pris en charge par le gestionnaire d'applications GNOME par défaut.

Améliorations clés nouveautés dans la branche Flatpak 1.6 :

  • Dans API Portal un nouveau méthode CreateUpdateMonitor a été ajoutée, permettant aux applications de suivre l'apparition des mises à jour et de demander l'installation de la mise à jour disponible.
    Pour interdire à l'application d'installer des mises à jour de manière autonome, la commande « flatpak permission-set flatpak updates $APPID no » peut être utilisée (si vous spécifiez « ask » au lieu de « no », une boîte de dialogue de confirmation s'affichera à chaque fois);


  • Pour faciliter la création de gestionnaires, une bibliothèque a été proposée
    libportal, qui permet de traiter les événements sans utiliser directement l’API Portal et de décoder les signaux envoyés via D-Bus.
    Libportal fournit de simples couches fonctionnant de manière asynchrone pour la plupart des «portails«;
  • Un nouveau privilège « —socket=cups » a été ajouté pour fournir un accès direct au serveur d'impression CUPS;
  • Le protocole et l’API pour traiter l’authentification ont été modifiés. Un authentificateur pour OCI (Open Container Initiative) a été ajouté. La prise en charge de l'installation automatique des authentificateurs à partir d'un dépôt externe flatpak a été mise en œuvre. Un gestionnaire de rappel a été ajouté à FlatpakTransaction pour utiliser l'authentification par nom d'utilisateur et mot de passe, similaire à la méthode d'authentification HTTP basique;
  • La prise en charge des applications sécurisées et des systèmes nécessitant une authentification au chargement a été ajoutée;
  • La couche utilisée pour l'isolation bubblewrap a été mise à jour vers la version 0.4.0;
  • Un support optionnel pour le contrôle parental a été ajouté via l'utilisation de la bibliothèque libmalcontent, permettant de restreindre l'accès à certains types de contenu;
  • Les extensions sont désormais installées avant l'application, ce qui permet d'obtenir l'application fonctionnelle immédiatement après sa installation;
  • Les manipulations avec les fichiers temporaires ont été repensées, ce qui a permis d'améliorer le fonctionnement en cas de manque d'espace disque;
  • Pour exécuter la commande «flatpak enter» il n'est plus nécessaire d'utiliser sudo;
  • Le portail a été mis à jour pour permettre le lancement d'environnements isolés imbriqués (sub-sandbox) pour les processus fils;
  • De nouvelles commandes « flatpak permission-set » et « permission-remove » ont été ajoutées pour gérer les permissions d'installation;
  • Une option « flatpak install --or-update » a été ajoutée, effectuant une mise à jour si l'application est déjà installée;
  • La commande « flatpak mask » a été ajoutée pour verrouiller la version et interdire l'installation de mises à jour;
  • Pour les images au format OCI (Open Container Initiative), le support pour l'attachement d'étiquettes, la génération de l'historique des modifications de l'image et l'inclusion des types MIME Docker, en plus des types MIME OCI, a été ajouté;
  • Les paramètres ont été mis à jour avec la clé default-languages pour définir la liste des langues utilisées, en complément de la liste système.

Rappelons que Flatpak donne aux développeurs d'applications la possibilité de simplifier la distribution de leurs programmes qui ne figurent pas dans les dépôts standard des distributions, grâce à la préparation d'un conteneur universel sans avoir à créer des builds séparés pour chaque distribution. Pour les utilisateurs soucieux de sécurité, Flatpak permet d'exécuter une application douteuse dans un conteneur, en offrant un accès uniquement aux fonctionnalités réseaux et fichiers utilisateur liés à l'application. Pour les utilisateurs intéressés par les nouveautés, Flatpak permet d'installer les dernières versions test et stables des applications sans avoir besoin de modifier le système. Par exemple, à l'heure actuelle, les paquets Flatpak sont déjà rassemblés pour LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Pour réduire la taille du paquet, il inclut uniquement les dépendances spécifiques à l'application, tandis que les bibliothèques système et graphiques de base (Gtk+, Qt, bibliothèques GNOME et KDE, etc.) sont fournies sous forme de runtimes modulaire. 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 distinct du système et opère avec de grands ensembles de runtime, fournissant comme dépendances non des paquets, mais des environnements système typiques (par exemple, toutes les bibliothèques nécessaires au fonctionnement des programmes GNOME ou KDE).

En plus de l'environnement système typique (runtime), installé via un spécifique dépôt, des dépendances supplémentaires (bundle) requises pour faire fonctionner l'application sont fournies. En somme, le runtime et le bundle forment le contenu du conteneur, le runtime étant installé séparément et associé à plusieurs conteneurs à la fois, ce qui permet d'éviter la duplication des fichiers système communs aux conteneurs. Plusieurs runtimes différents (GNOME, KDE) ou plusieurs versions d'un même runtime (GNOME 3.26, GNOME 3.28) peuvent être installés sur un même système. Un conteneur avec une application en tant que dépendance n'utilise le lien qu'avec un runtime spécifique, sans prendre en compte les packages individuels constituant le runtime. Tous les éléments manquants sont emballés directement avec l'application. Lors de la formation du conteneur, le contenu du runtime est monté comme la partition /usr, et le bundle est monté dans le répertoire /app.

Le contenu des runtimes et des conteneurs d'applications est constitué à l'aide de la technologie OSTree, où l'image est mise à jour de manière atomique depuis un dépôt de type Git, permettant d'appliquer des méthodes de contrôle de version aux composants de la distribution (par exemple, il est possible de revenir rapidement à un état antérieur du système). Les paquets RPM sont transmis au dépôt OSTree à l'aide d'une couche spéciale rpm-ostree. L'installation et la mise à jour séparées des paquets au sein de l'environnement de travail ne sont pas prises en charge, le système est mis à jour non pas au niveau des composants individuels, mais dans son intégralité, changeant atomiquement son état. Des outils sont fournis pour l'application incrémentale des mises à jour, éliminant le besoin de remplacer entièrement l'image à chaque mise à jour.

L'environnement isolé formé est complètement indépendant de la distribution utilisée et, avec les réglages 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 au matériel, sauf pour la sortie via DRI, et au sous-système réseau. La sortie graphique et la gestion de l'entrée sont implémentés se font via le protocole Wayland ou le passage du socket X11. L'interaction avec l'environnement externe repose sur un système de messagerie DBus et une API spéciale Portals. Pour l'isolation on utilise une couche Bubblewrap et des technologies de virtualisation de conteneurs traditionnelles pour Linux, basées sur l'utilisation des cgroups, des espaces de noms (namespaces), de Seccomp et de SELinux. Pour la sortie audio, PulseAudio est utilisé.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster