まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Haaa ! Snap alors !

Les utilisateurs et utilisatrices d'Ubuntu l'auront peut-être remarqués, depuis quelques versions, certains logiciels s'installent sans donner le choix depuis des paquets snap au lieu du traditionnel paquet « apt » deb.
Ç'aurait pu passer relativement inaperçu, sauf que cela a plusieurs conséquences, notamment prendre beaucoup d'espace disque, et d'être plus lent au démarrage des logiciels.
Autre conséquences, et non des moindre concernant par exemple, au hasard, le soft qui me sert le plus, Firefox.
Une bonne partie de ses extensions, ne fonctionnent plus, ce qui est relativement fâcheux. Ceci s'explique par le fait qu'un snap vient avec son propre petit environnement « sandboxé » ce qui empêche certaines extensions donc de communiquer avec « l'extérieur ».
Alors certes une « sandbox » c'est un gain de sécurité, mais si c'est au détriment de l'utilisabilité, c'est non.


L'espace disque :

  • Mon disque est partitionné comme il se doit, avec un home séparé. J'ai donc une racine qui ne me sert que pour le système d'exploitation et les logiciels. Avec 10 Gio de libre, jusqu'à présent je n'ai jamais eu de problème de saturation du disque.
/dev/sda1                          47G     35G  9,4G  79% /

Pourtant dés la mise à niveau vers Ubuntu 22.04LTS, encours de route, la mise à niveau s'est arrêtée net… Téléchargement des paquets ok, et pendant l’installation de ceux-ci, disque plein au moment de mettre à jour KiCad.
J'ai alors désinstallé celui-ci pour gagner un peu d'espace disque, et heureusement que le logiciel de mise à niveau est bien fichu, car j'ai pu, avec la commande adaptée, relancer la procédure et terminer la mise à niveau.

  • Me voici donc avec la 22.04, je réinstalle 'KiCad'', et me reste à peine 8 Gio de disque… Bon ok.

Quelques jours plus tard, des mises à jours arrivent, et ho, 4.4 Gio de libre… Heuuuuu, qué passa !?

Firefox :

J'ai suivis un des nombreux tutos qui indiquent la démarche pour repasser à un deb.

  • Suppression du snap et installation depuis le ppa :
sudo snap remove firefox
 sudo add-apt-repository ppa:mozillateam/ppa
sudo apt update
sudo apt install firefox
  • Pour activer la mise à jour automatique depuis le ppa
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
  • Pour empêcher le remplacement par les mises à jours de Firefox en snap, éditer le fichier suivant :
sudo nano /etc/apt/preferences.d/firefox-no-snap
  • Avec dedans :
Package: firefox*
Pin: release o=Ubuntu*
Pin-Priority: -1

Haaa mes extensions Firefox fonctionnent à nouveau !

Supprimer snap :

Mise à jours après mise à jour, la racine du disque se remplie, et avant de bloquer le système avec un disque plein, regardons d'un peu plus prés ce qu'il en est.

  • Logiciels installés avec snap, ainsi que leurs mises à jours résiduelles :
snap list --all

Nom                  Version                     Révision  Suivi            Éditeur         Notes
bare                 1.0                         5         latest/stable    canonical✓      base
chromium             101.0.4951.54               1985      latest/stable    canonical✓      désactivé
chromium             101.0.4951.64               1993      latest/stable    canonical✓      -
core                 16-2.54.4                   12834     latest/stable    canonical✓      core,désactivé
core                 16-2.55.5                   13250     latest/stable    canonical✓      core
core18               20220428                    2409      latest/stable    canonical✓      base
core18               20220309                    2344      latest/stable    canonical✓      base,désactivé
core20               20220329                    1434      latest/stable    canonical✓      base,désactivé
core20               20220512                    1494      latest/stable    canonical✓      base
gnome-3-28-1804      3.28.0-19-g98f9e67.98f9e67  145       latest/stable    canonical✓      désactivé
gnome-3-28-1804      3.28.0-19-g98f9e67.98f9e67  161       latest/stable    canonical✓      -
gnome-3-38-2004      0+git.1f9014a               99        latest/stable    canonical✓      -
gnome-3-38-2004      0+git.cd626d1               87        latest/stable    canonical✓      désactivé
gtk-common-themes    0.1-59-g7bca6ae             1519      latest/stable    canonical✓      désactivé
gtk-common-themes    0.1-79-ga83e90c             1534      latest/stable    canonical✓      -
pulsemixer           1.5.1                       283       latest/stable/…  georgefilipkin  -
pulsemixer           1.5.0                       250       latest/stable/…  georgefilipkin  désactivé
ubuntu-mate-welcome  22.04.0-5b7bef38            709       latest/stable/…  flexiondotorg   classic
ubuntu-mate-welcome  22.04.0-5ab72c37            693       latest/stable/…  flexiondotorg   désactivé,classic
  • Espace disque pris pas les logiciels snap :
sudo du -sh /snap/
6,1G	/snap/
sudo du -sh /var/snap/
9,2M	/var/snap/
sudo du -sh /var/lib/snapd/
5,2G	/var/lib/snapd/
du -sh ~/snap
1G	~/snap
  • En détail :
sudo du -csh /snap/* |sort -rh
6,1G	total
2,1G	/snap/gnome-3-38-2004
1,3G	/snap/gnome-3-28-1804
712M	/snap/gtk-common-themes
672M	/snap/core
596M	/snap/chromium
396M	/snap/core20
338M	/snap/core18
57M	/snap/ubuntu-mate-welcome
51M	/snap/pulsemixer
4,5K	/snap/bare
4,0K	/snap/README
4,0K	/snap/bin
  • Pour voir le poids utilisé par un logiciel :
sudo du -csh /snap/chromium/* |sort -rh
596M	total
298M	/snap/chromium/1993
298M	/snap/chromium/1985

On constate ici que deux versions occupent de l'espace.

  • Pour lister les anciennes versions désactivées :
snap list --all | awk '/désactivé|disabled/{print}'
chromium             101.0.4951.54               1985      latest/stable    canonical*      désactivé
core                 16-2.54.4                   12834     latest/stable    canonical*      core,désactivé
core18               20220309                    2344      latest/stable    canonical*      base,désactivé
core20               20220329                    1434      latest/stable    canonical*      base,désactivé
gnome-3-28-1804      3.28.0-19-g98f9e67.98f9e67  145       latest/stable    canonical*      désactivé
gnome-3-38-2004      0+git.cd626d1               87        latest/stable    canonical*      désactivé
gtk-common-themes    0.1-59-g7bca6ae             1519      latest/stable    canonical*      désactivé
pulsemixer           1.5.0                       250       latest/stable/…  georgefilipkin  désactivé
ubuntu-mate-welcome  22.04.0-5ab72c37            693       latest/stable/…  flexiondotorg   désactivé,classic
  • Pour supprimer ces anciennes versions désactivées :
snap list --all | awk '/désactivé|disabled/{print $1, $3}' |while read snapname revision; do echo $snapname $revision; sudo snap remove "$snapname" --revision="$revision"; done
chromium 1985
chromium (révision 1985) supprimé
core 12834
core (révision 12834) supprimé
core18 2344
core18 (révision 2344) supprimé
core20 1434
core20 (révision 1434) supprimé
gnome-3-28-1804 145
gnome-3-28-1804 (révision 145) supprimé
gnome-3-38-2004 87
gnome-3-38-2004 (révision 87) supprimé
gtk-common-themes 1519
gtk-common-themes (révision 1519) supprimé
pulsemixer 250
pulsemixer (révision 250) supprimé
ubuntu-mate-welcome 693
ubuntu-mate-welcome (révision 693) supprimé
  • Faire le ménage :
cd /var/cache && sudo rm -rfv snapd/; cd;
  • Gagné la moitié d'espace sur les logiciels, mais la librairie est toujours là…
sudo du -sh /snap/
3,1G	/snap/

Alors vu le peu d'espace disque restant, si c'est pour négocier comme ça à chaque mise à jours du système, ça va vite m'agacer, donc ça dégage !

  • Suppression un à un des logiciels. (on garde le core pour la fin):
sudo snap remove software-boutique
sudo snap remove gtk-common-themes
sudo snap remove chromium
sudo snap remove gnome-3-28-1804
sudo snap remove gnome-3-38-2004
sudo snap remove gtk-common-themes
sudo snap remove ubuntu-mate-welcome
sudo snap remove pulsemixer
sudo snap remove core2
sudo snap remove bare
sudo snap remove core18
  • Le core refusera de se désinstaller comme précédemment, car il fait partie de la chose, donc il est temps de terminer le travail :
sudo apt autoremove --purge snapd gnome-software-plugin-snap
  • Pour vérifier :
snap list
bash: /usr/bin/snap: Aucun fichier ou dossier de ce type

Arrivé là on se dit, youpi, mission accomplie, j'ai récupéré mon espace disque, sauf qu'on a maintenant deux problèmes :

  1. À la première demande d'installation d'un de ces logiciels, apt va réinstaller snap et le logiciel demandé en version snap.
  2. Ces logiciels sont donc en l'état non-installable… hum.
  • Pour le premier point, on va empêcher snap de s'installer en créant le fichier suivant :
sudo nano /etc/apt/preferences.d/nosnap

avec dedans.

Package: snapd
Pin: release *
Pin-Priority: -1
  • De fait, ça ne s'installera pas.
sudo apt install snapd
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Aucune version du paquet snapd n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

E: Le paquet « snapd » n'a pas de version susceptible d'être installée

Et la même chose pour installer chromium-browser par exemple provoquera le même message.

  • Ce qui amène donc au second point, qui est de trouver des alternatives pour installer ces logiciels, via un ppa, comme on l'a vu pour Firefox plus haut.



Conclusion :

J'ai pu revenir à un système sain et léger, ça c'est bien, mais pour combien de temps ?
En effet nous voilà dépendant de la disponibilité de dépôts ppa, avec tous les inconvénients que cela comporte…
Si l'on pouvait choisir entre la version snap ou deb d'un logiciel, ou même flatpak, vu que c'est la mode de ces choses là, pourquoi pas, mais ici les équipes d'Ubuntu ont choisies d'imposer le snap, je suppose par simplicité ou autre.
Sauf que cela va pour moi à l'encontre d'une des qualités d'un système GNU/Linux, qui est la légèreté, permettant de faire durer un ordinateur bien plus longtemps.
Ce qui est de moins en moins vrai donc, déjà car les environnements de bureaux aussi léger soient-ils commencent à peser fort, les logiciels aussi, et si on leurs snapise la tronche, alors c'est foutu.
À l'heure ou en France on sait que le bilan carbone d'une machine pèse pour 80% à sa fabrication, (le reste à l'utilisation donc, l'électricité), il me paraît une excellente idée de faire durer un ordi le plus longtemps possible, pour éviter de devoir en changer et engranger plus de réchauffement planétaire.

  • Ainsi je vais à regret réfléchir à changer de système, la galaxie GNU/Linux est vaste, le choix souvent déroutant pour un débutant, reste néanmoins une force.


Ressources :
- https://www.debugpoint.com/2021/09/remove-firefox-snap-ubuntu/
- https://doc.ubuntu-fr.org/snap
- https://forum.ubuntu-fr.org/viewtopic.php?id=2053898

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet