Haaa ! Snap alors !
Par makoto doushite le jeudi, 26 mai 2022, 14:48 - GNU/Linux - Lien permanent
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 :
- À la première demande d'installation d'un de ces logiciels, apt va réinstaller snap et le logiciel demandé en version snap.
- 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