Table des matières

Désactiver les Flatpak sous Linux Mint

Source :

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 Flatpak1).

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ée2). 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

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èque3).

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
1)
Pour une raison que j'ignore, Flatpak n'a pas supprimé ces runtimes alors qu'ils n'étaient plus nécessaires…
2)
runtime épinglé (pinned).
3)
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.