====== Désactiver les Flatpak sous Linux Mint ======
Source :
* [[https://www.numetopia.fr/comment-supprimer-les-runtimes-flatpak-inutilises/|Comment supprimer les runtimes Flatpak inutilisés]] (fr) (numetopia.fr)
* [[https://forums.linuxmint.com/viewtopic.php?t=388922|Completely deactivate / uninstall Flatpak]] (en) (forums.linuxmint.com)
Avant toute désactivation, il convient de s'assurer qu'aucune application ni aucun //runtime// ne sont utilisés.
===== Cas d'utilisation =====
Suite à l'installation de Linux Mint (21+), je constate que le //Gestionnaire de mises à jour// consulte les dépôts Flatpack. Je trouve que ça lui prend un temps fou alors qu'aucune application installée depuis ces dépôts n'est présente sur mon ordi.
Je souhaite donc désactiver cette consultation inutile. Mais pas n'importe comment…
===== Contrôles =====
Je m'assure rapidement qu'aucune application Flatpak n'est installée ;-)
flatpak list --app
Mais ce n'est pas suffisant. Flatpak installe également des «runtime»… C'est-à-dire ?
Un //runtime// est un ensemble de composants logiciels partageables par différentes applications distribuées via Flatpak. Il peut se trouver dans différents «états» : présent dans les dépôts, installé, utilisé. Avant de désactiver Flatpack, il convient de s'assurer qu'aucun runtime n'est utilisé.
Liste des runtimes installés:
flatpak list --runtime
Par exemple :
$ flatpak list --runtime
Name Application ID Version Branch Installation
Mesa org.freedesktop.Platform.GL.default 21.3.9 21.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 21.08 system
Surprise ! Deux runtimes sont installés alors que je n'utilise aucune application distribuée via Flatpak… Le mot «system» dans la colonne «Installation» signifie simplement que le runtime est utilisable par toutes les utilisatrices, pas que le système en dépend ;-)
Avant d'aller plus loin, un test de mise à jour des runtimes installés m'en dira un peu plus :
$ flatpak update
Looking for updates…
Info: (pinned) runtime org.freedesktop.Platform.VAAPI.Intel branch 21.08 is end-of-life, with reason:
org.freedesktop.Platform 21.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: (pinned) runtime org.freedesktop.Platform.GL.default branch 21.08 is end-of-life, with reason:
org.freedesktop.Platform 21.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
On constate que ces deux runtimes ne sont plus maintenus. Flatpak recommande de les remplacer par des versions maintenues. Plutôt que de suivre aveuglément cette recommandation, il est intéressant de vérifier quelles applications utilisent ces runtines.
$ flatpak list --app --app-runtime=org.freedesktop.Platform.GL.default/x86_64/21.08
$
$ flatpak list --app --app-runtime=org.freedesktop.Platform.VAAPI.Intel/x86_64/21.08
$
Dans ma situation, aucune application n'utilise ces runtimes (liste de résultats vide). Ceci est cohérent avec le fait que je n'utilise aucune application Flatpak. Pourquoi sont-ils là ? La raison la plus probable est un résidu d'installation/désinstallation antérieure d'une application Flatpak((Pour une raison que j'ignore, Flatpak n'a pas supprimé ces runtimes alors qu'ils n'étaient plus nécessaires…)).
===== Nettoyage =====
La suppression des runtimes inutilisés se fait classiquement avec la commande suivante :
flatpak uninstall --unused
Cette commande va notamment lister les runtime utilisés ou dont l'installation est protégée((runtime //épinglé// (//pinned//).)). Par exemple :
$ flatpak uninstall --unused
These runtimes in installation 'system' are pinned and won't be removed; see flatpak-pin(1):
runtime/org.freedesktop.Platform.GL.default/x86_64/21.08
runtime/org.freedesktop.Platform.VAAPI.Intel/x86_64/21.08
Nothing unused to uninstall
Le fait que des runtimes soient épinglés (pinned) les protège d'une désinstallation à l'aveugle. Les contrôles préalables ayant mis en évidence que ces runtimes sont inutiles, je procède à leur désintallation nominative :
$ flatpak uninstall org.freedesktop.Platform.GL.default
ID Branch Op
1. [-] org.freedesktop.Platform.GL.default 21.08 r
Uninstall complete.
$ flatpak uninstall org.freedesktop.Platform.VAAPI.Intel
ID Branch Op
1. [-] org.freedesktop.Platform.VAAPI.Intel 21.08 r
Uninstall complete.
Contrôle :
$ flatpak list --runtime
$
===== Désactivation des mises à jour Flatpak =====
On peut atteindre cet objectif suivant deux approches:
* configuration de flatpak
* désinstallation de flatpak
==== Configuration de flatpak ====
Cette solution convient parfaitement à l'intention intiale. Les composants logiciels nécessaires au fonctionnement de flatpak resteront présents sur mon système mais les dépôts ne seront plus consultés lors des vérifications de mises à jour.
=== Suppression du dépôt ===
sudo flatpak remote-delete flathub
Cette commande à deux effets. D'une part, les applications fournies via Flatpak ne sont plus proposées par le //Gestionnaire de logiciesl/Logithèque//. D'autre part, le //Gestionnaire de mises à jour// n'est plus ralenti par la consultation des Flatpak. Toutefois, le message «Recherche des mises à jour Flatpak» continue à s'afficher, très brièvement.
=== Rétablissement du dépôt ===
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
==== Désinstallation de Flatpak ====
Cette solution étant excessive au regard de l'objectif poursuivi, je ne la recommande pas. Je la mentionne uniquement afin d'indiquer que j'ai connaissance de cette technique évoquée dans de nombreux fils de discussion et tutos.
Cette technique est susceptible d'entraîner le dysfonctionnement du //Gestionnaire de mises à jour// et du //Gestionnaire de logiciels/Logithèque//((En effet, elle repose sur une hypothèse d'interfaçage entre ces utilitaires et Flatpak. Celle-ci peut être valable à un moment donné, dans un environnement de bureau donné mais cette situation peut changer.)).
La technique la moins «excessive» consisterait à désinstaller la bibliothèque d'interfaçage de bas niveau avec Flatpak.
apt remove libflatpak0
Mais elle ne permet pas d'atteindre le résultat voulu. Elle a pour effet de ne plus proposer l'installation d'applications Flatpak via la //Logithèque// mais le Gestionnaire de mises à jours persiste à consulter le dépôt et vérifier les mises à jour Flatpack.
Une technique plus expansive consisterait à désintaller également le paquetage //flatpak// lui-même, accroissant les risques de dysfonctionnement.
apt remove --purge libflatpak0 flatpak