Flatpak
Flatpak (anciennement connu sous le nom de xdg-app) est un système de distribution d'applications pour les systèmes d'exploitation Linux. Il permet de créer des paquets d'applications qui sont indépendants des distributions Linux et qui peuvent être installés et exécutés sur n'importe quelle distribution Linux prenant en charge Flatpak. Les applications Flatpak sont fournies avec toutes leurs dépendances, ce qui facilite leur installation et leur exécution. Flatpak est basé sur la technologie de conteneurisation pour assurer l'isolation de l'application et la sécurité. Il est également conçu pour faciliter la mise à jour et la distribution des applications, ainsi que pour permettre aux utilisateurs de gérer les différentes versions d'une application en même temps. Flatpak est de plus en plus utilisé par les développeurs et les éditeurs de logiciels pour distribuer des applications sur Linux, en particulier pour les applications qui ne sont pas disponibles dans les référentiels officiels des distributions Linux.
Commandes courantes
Voici quelques commandes courantes pour utiliser Flatpak en ligne de commande :
– Rechercher une application Flatpak disponible :
flatpak search nom-de-l-application
– Installer une application Flatpak :
flatpak install nom-de-l-application
– Mettre à jour une application Flatpak :
flatpak update nom-de-l-application
– Supprimer une application Flatpak :
flatpak uninstall nom-de-l-application
– Lister les applications Flatpak installées :
flatpak list
– Lister les mises à jour disponibles pour les applications Flatpak :
flatpak update --appstream
– Lancer une application Flatpak :
flatpak run nom-de-l-application
– Afficher des informations détaillées sur une application Flatpak :
flatpak info nom-de-l-application
Ces commandes peuvent nécessiter des privilèges d'administration, et doivent donc être exécutées en tant que superutilisateur ou en utilisant la commande sudo
.
Technologie
Flatpak s'appuie sur des technologies existantes telles que cgroups, les espaces de noms (namespaces), les montages de liens (bind mounts) et seccomp dans le noyau Linux, OSTree du projet Atomic et le format OCI (Open Container Initiative) développé par l'initiative Open Container.
Les cgroups permettent de limiter les ressources d'un processus, tels que l'utilisation de CPU, de mémoire ou de stockage. Les espaces de noms permettent de créer des environnements isolés pour les processus, de sorte que chaque processus pense qu'il est le seul processus sur le système. Les montages de liens permettent de monter des systèmes de fichiers à l'intérieur de conteneurs ou d'environnements de sandboxing.
seccomp est un mécanisme de sécurité du noyau Linux qui permet de restreindre les appels système disponibles à un processus. Il peut être utilisé pour restreindre les appels système dangereux ou non nécessaires, ce qui améliore la sécurité de l'application.
OSTree est une technologie de gestion des fichiers pour les systèmes de fichiers de type image. Il permet de gérer efficacement les mises à jour de fichiers, les instantanés et les versions des systèmes de fichiers, ce qui en fait une technologie idéale pour la distribution de paquets d'applications.
Le format OCI est un format de conteneur standard pour les applications. Il définit une interface entre les outils de construction, de distribution et de déploiement de conteneurs, ce qui permet de garantir la portabilité des applications entre différents systèmes.
Flatpak utilise une politiques de sécurité sandbox pour exécuter l'application, ce qui signifie que l'application est exécutée dans un environnement isolé, qui restreint son accès à certaines parties du système. Par exemple, l'application ne peut pas accéder aux fichiers de l'utilisateur en dehors de son espace de travail, et ne peut pas accéder aux périphériques système sans les autorisations appropriées.
Emplacement sur le système hôte
Lorsqu'un utilisateur installe une application Flatpak sur son système, les fichiers de l'application sont installés dans un répertoire spécifique sur le système de fichiers, qui est géré par le moteur Flatpak.
Par défaut, les applications Flatpak sont installées dans le répertoire /var/lib/flatpak/app/
. Chaque application est installée dans son propre répertoire portant un nom généré automatiquement, qui correspond au nom de l'application et à sa version.
Les exécutables de l'application sont installés dans le sous-répertoire current/
, tandis que les données de l'application sont stockées dans le sous-répertoire data/
.
Les utilisateurs n'ont normalement pas besoin de connaître l'emplacement exact des fichiers d'application Flatpak, car ces fichiers sont gérés automatiquement par le moteur Flatpak. Les utilisateurs peuvent simplement lancer l'application depuis leur menu d'applications ou leur interface de bureau, comme ils le feraient avec n'importe quelle autre application.
Flatpak sous Fedora
La distribution Fedora Linux est réputé pour pas ne pas fournir des logiciels non libres et même rendre difficle d'accès à des composants non libres.
Depuis Fedora 35, Fedora inclut une définition de référentiel Flatpak pour Flathub dans le paquet fedora-flathub-remote. Ce paquet ajoute un référentiel pointant vers flathub.org lorsque les référentiels tiers sont activés sur un système Fedora Linux via GNOME Initial Setup ou GNOME Software. Ce référentiel est filtré pour inclure uniquement des paquets spécifiquement approuvés par Fedora. (Si l'utilisateur installe manuellement le référentiel Flathub, le filtre est supprimé et le référentiel Flathub n'est plus géré en tant que référentiel tiers.). Les utilisateurs qui n'optent pas pour l'option référentiels tiers, ne voient aucun contenu de Flathub.
Le référentiel Flathub actuel est filtré par une liste d'autorisations, de manière à ne rendre disponible qu'un sous-ensemble limité de logiciels de Flathub.
A partir de Fedora 38, lors de l'utilisation du gestionnaire de logiciels graphique GNOME Software, les Flatpak de Flathub ne seront sélectionnés par défaut que s'il n'y a pas de Flatpak Fedora ou de RPM disponible.
Dans GNOME Software, les utilisateurs pourront toujours sélectionner manuellement une source différente pour des applications individuelles. Le mécanisme de filtrage restera en place, et il sera possible de rétablir un filtre via une mise à jour de package, si nécessaire à l'avenir. Il a été indiqué qu'il est légalement acceptable de supprimer le filtrage du référentiel Flathub que Fedora rend disponible pour les utilisateurs qui optent pour cette option. L'interface utilisateur pour l'activation des référentiels de logiciels tiers indique clairement qu'ils contiennent des logiciels propriétaires. GNOME Software affiche des informations sur le caractère open source ou propriétaire des applications, de sorte que les utilisateurs puissent décider s'ils veulent les installer ou non.
– https://www.fedoraproject.org/wiki/Changes/UnfilteredFlathub