Problématique
Depuis la Ubuntu 22.04, on ne peut pas mettre à jour Firefox sans que celui-ci ne se réinstalle automatiquement via snap. Désinstaller snapd ne suffit pas car il y aura réinstallation à chaque mise à jour ... même si on déclare une autre source d’installation.
Solution
Ce ne sont encore pour le moment que des solutions de contournement, vu qu’il y aura toujours considération que les paquets devant être délivrés par snap, sont en attente de mise à jour. Mais au moins, il n’y aura plus de réinstalaltion et de mise à jour des paquets snaps dans le dos de l’utilisateur.
Remarque
Cas de l’erreur : "error : cannot list snaps : cannot communicate with server : Get "http://localhost/v2/snaps" : dial unix /run/snapd.socket : connect : no such file or directory"
En fait, c’est juste que le service snapd a été désactivé. On va devoir le relancer pour la bonne cause.
sudo systemctl start snapd
Une fois que snapd est relancé, on va lister les paquets de snap et les désinstaller un à un mais selon snap.
# snap list
Nom Version Révision Suivi Éditeur Notes
core - 6818 latest/stable canonical ✓ cassé
pulsemixer - 23 latest/stable georgefilipkin cassé
On désinstalle un à un les paquets snap, excepté le core
# snap remove pulsemixer
pulsemixer supprimé.
Remarque
Il se peut que l’on rencontre des dépendances dans les paquets snap ! Par exemple, bare dépend de gtk-common-themes
#apt remove gtk-common-themes
apt remove bare
apt remove gnome-3-38-2004
# snap list
Nom Version Révision Suivi Éditeur Notes
core - 6818 latest/stable canonical ✓ cassé
On laisse le core.
Enfin on peut supprimer snapd, mais via l’option autoremove :
#apt autoremove snapd
Puis on va supprimer tout un tas de paquets carrément devenus chiants :
#apt autoremove
Les paquets suivants ont été complètement supprimés :
#apt autoremove snapd libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libspa-0.2-modules pipewire pipewire-bin pipewire-media-session xdg-desktop-portal xdg-desktop-portal-gtk
Et pour bien nettoyer, revérifier ce qui va s’installer via :
#sudo apt-get -f install
sudo dpkg --configure -a
Affectation de la priorité la plus basse à snap dans les paquets (-1 ne suffira pas) :
#pluma /etc/apt/preferences.d/nosnap.pref
Package: snapd
Pin: release a=*
Pin-Priority: -10
Dans le répertoire /etc/systemd/, supprimer tout lien vers un fichier snap.
Remarque
Ne plus avoir peur des messages issus de synaptic :
Failed to SetCandidateRelease for jammy
Idem, un apt dist-upgrade se contentera d’affirmer que les paquets "snapables" sont conservés et laissés en l’état ... Mais sans réinstallation de la version snap. Il faudra toujours "forcer" dans synaptic la bonne réinstallation de version.
Remarque
Idem, l’installation en ligne de commande d’un paquet relevant de snap posera problème, il faudra systématiquement faire son installation via synaptic en forçant la bonne version (qui ne sera pas celle snap).
# apt-get install firefox
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites :
firefox : Pré-Dépend: snapd mais il n'est pas installable
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
Dernières sources stables de Firefox
sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
sudo apt-get update
sudo apt-get upgrade
Liens
Ubuntu : Supprimer et bloquer les SNAPS
Linux – How to enable snaps support on Linux Mint 20
Ubuntu : snap verhindern
snap list hyper lent lancer snapd
Snap (gestionnaire de paquets)
Linux Mint dit « non » à l’installation automatique de snapd
How to have the latest version of Mozilla Firefox in our Ubuntu
Ubuntu : Supprimer et bloquer les SNAPS