Recherche de site Web

Comment utiliser Flatpak pour gérer des applications en bac à sable sur Fedora Workstation 28


Introduction

Avec l’utilisation des distributions modernes Gnu/Linux, les dépendances de paquets ne sont plus un problème en soi, mais généralement chaque distribution est livrée avec une certaine version d’un programme, et nous voulons installer une nouvelle version, nous devons la compiler, ou nous appuyer sur des dépôts tiers. La même chose se produit si les dépôts de notre distribution préférée ne contiennent pas une certaine application dont nous avons besoin. De plus, pour un distributeur d’applications, il peut s’avérer chronophage de devoir fournir différents formats de package pour la même application.

Flatpak est une technologie relativement nouvelle qui vise à résoudre ce genre de problèmes. Les applications installées avec Flatpack sont pré-packagées avec toutes leurs dépendances et s’exécutent dans leur propre environnement sandbox. Dans ce tutoriel, nous allons voir comment installer et utiliser flatpak sur Fedora 28.

Utilisation de Flatpak

Fedora Workstation est livré avec un flatpack préinstallé, nous avons donc déjà tout ce dont nous avons besoin dans notre système. Les applications Flatpak peuvent être installées à la fois globalement, en exécutant la commande linux avec des privilèges administratifs, ou par utilisateur. Dans ce dernier cas, les applications seront installées à l’intérieur du répertoire personnel de l’utilisateur : nous utiliserons cette option dans ce tutoriel.

Ajouter un dépôt flatpak

Avant d’utiliser flatpack, nous devons activer une source de package. Dans ce cas, nous allons utiliser flathub : ce dépôt héberge de nombreuses applications couramment utilisées, à la fois open-source et propriétaires. Pour les besoins de ce guide, nous allons installer la version flatpak de l’éditeur de texte atom. La première chose à faire est d’activer le dépôt flathub :

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Analysons brièvement la commande ci-dessus. La première option que nous avons utilisée est --user, qui dit essentiellement que la commande doit être exécutée dans le contexte de l’utilisateur, et non globalement. Pour ajouter le dépôt distant, nous avons utilisé la commande remote-add suivie de l’option --if-not-exists, qui sert de vérification pour vérifier que le dépôt distant n’a pas déjà été ajouté. Enfin, nous avons passé le nom du dépôt et son emplacement. Ce dernier peut être soit l’URL du dépôt, soit un fichier .flatpakrepo, qui contient une description du dépôt. Pour vérifier que le dépôt a bien été ajouté, nous pouvons exécuter :

flatpak remotes

Dans ce cas, la commande ci-dessus renverra le résultat suivant, nous montrant que le dépôt a été ajouté avec succès à nos sources :

Name Options
flathub user

Répertorier le contenu d’un référentiel et rechercher un package

Voyons ce que contient le référentiel que nous venons d’ajouter. Pour lister le contenu d’un dépôt, tout ce que nous avons à faire est d’exécuter la commande linux suivante :

flatpak remote-ls flathub

La commande renverra une liste des applications et des environnements d’exécution disponibles. Parmi les autres :

[...]
io.atom.Atom
io.atom.electron.BaseApp
io.elementary.code
io.exodus.Exodus
io.github.Cockatrice.cockatrice
io.github.EndlessSky.endless-sky
io.github.FreeDM
io.github.Freedoom-Phase-1
io.github.Freedoom-Phase-2
io.github.GnomeMpv
io.github.Hexchat
[...]

Pour obtenir plus d’informations sur un colis, c’est tout aussi simple. Supposons par exemple que nous voulions examiner le paquet io.atom.Atom, tout ce dont nous avons besoin pour exécuter est :

flatpak remote-info flathub io.atom.Atom

La sortie suivante s’affiche :

Si, au contraire, nous voulons rechercher un paquet spécifique, nous devons exécuter :

flatpak --user update && flatpak --user search atom
Looking for updates...
Updating appstream data for user remote flathub
Application ID         Version Branch Remotes Description
net.sourceforge.atanks         stable flathub Turn-based artillery strategy game
io.atom.Atom           1.26.0  stable flathub A hackable text editor for the 21st Century
com.github.rssguard            stable flathub Simple (yet powerful) feed reader

La commande met à jour les applications et les runtimes, puis recherche réellement le package. La partie mise à jour est nécessaire et doit être exécutée au moins la première fois que nous effectuons une recherche, sinon aucune correspondance ne sera renvoyée.

Installation d’un paquet

Venons-en au fait. Nous allons maintenant installer le paquet io.atom.Atom dans notre système. D’après ce que nous pouvons voir dans les informations du package, la taille téléchargée sera de 155,9 Mo et l’application occupera 560,8 Mo d’espace disque une fois installée :

flatpak --user install flathub io.atom.Atom
Required runtime for io.atom.Atom/x86_64/stable (org.freedesktop.Sdk/x86_64/1.6) is not installed, searching...
Found in remote flathub, do you want to install it? [y/n]:

Le package nécessite le runtime org.freedesktop.Sdk/x86_64/1.6 : Flatpak l’a recherché dans le dépôt flathub et une fois fondé, il a demandé notre confirmation pour le récupérer. Dès que nous le fournissons, l’installation commence :

Installing for user: org.freedesktop.Sdk/x86_64/1.6 from flathub
[####################] 17 delta parts, 144 loose fetched; 274723 KiB transferred in 47 secon
Installing for user: org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 from flathub
[####################] 1 delta parts, 2 loose fetched; 2623 KiB transferred in 1 seconds
Installing for user: org.freedesktop.Platform.ffmpeg/x86_64/1.6 from flathub
[####################] 1 delta parts, 2 loose fetched; 2652 KiB transferred in 2 seconds
Installing for user: org.freedesktop.Sdk.Locale/x86_64/1.6 from flathub
[####################] 4 metadata, 1 content objects fetched; 14 KiB transferred in 1 second
Installing for user: io.atom.Atom/x86_64/stable from flathub
[####################] 2 delta parts, 36 loose fetched; 141132 KiB transferred in 30 seconds

Fait! Le paquet a été installé et il est utilisable comme il a été installé normalement.

Répertorier et supprimer les packages installés

Une autre opération courante que nous aimerions effectuer est de lister toutes les applications installées via flapak. Rien de plus simple :

flatpak list

Dans notre cas, cela ne renverra que :

Ref                                             Options
io.atom.Atom/x86_64/stable                      user,current
org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 user,runtime
org.freedesktop.Platform.ffmpeg/x86_64/1.6      user,runtime
org.freedesktop.Sdk/x86_64/1.6                  user,runtime

Comme vous pouvez le voir, le paquet atom et le runtime installé pour pouvoir l’exécuter, sont correctement affichés. Pour supprimer un paquet, c’est tout aussi simple :

flatpak --user uninstall io.atom.Atom
Uninstalling: io.atom.Atom/x86_64/stable

Si nous obtenons à nouveau une liste du paquet installé, nous pouvons voir que io.atom.Atom n’est plus installé :

Ref                                             Options
org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 user,runtime
org.freedesktop.Platform.ffmpeg/x86_64/1.6      user,runtime
org.freedesktop.Sdk/x86_64/1.6                  user,runtime

Malheureusement, comme vous pouvez le voir, bien que le paquet principal ait été désinstallé, ses dépendances sont déjà présentes, car elles ne sont pas automatiquement supprimées. Vous pouvez vous attendre à ce qu’une commande comme dnf autoremove soit disponible, afin de supprimer les dépendances orphelines, plus nécessaires. Malheureusement, au moment de la rédaction de cet article, cela n’a pas encore été mis en œuvre. Ce serait très utile, car les applications flatpak peuvent occuper beaucoup d’espace dans le système. Une demande de fonctionnalité existe déjà sur la page github du projet ; En attendant, les dépendances doivent être supprimées manuellement lorsqu’il est certain qu’aucun autre paquet n’en a besoin.

Conclusions

Nous avons vu ce qu’est la technologie flatpak, et comment, bien qu’encore jeune et en train de s’améliorer, elle peut être une solution agréable et sûre pour obtenir des applications non disponibles par défaut dans un dépôt de distribution. Nous avons vu comment ajouter un dépôt flatpak, comment l’inspecter et comment rechercher, installer, supprimer et mettre à jour un paquet. Nous avons effectué ces actions à partir de l’interface de ligne de commande, pour avoir une meilleure compréhension du fonctionnement de flatpak sous le capot ; cependant, les paquets et les dépôts peuvent également être installés graphiquement, en exécutant l’application GNOME Software et en naviguant sur le site Web de flathub.

Articles connexes: