Table des matières

Le système de paquets snap

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Format Snap

Le format snap vise à permettre l'installation de nouvelles versions de logiciels dans les systèmes Linux, tout en apportant aux développeurs la facilité de distribution, la fiabilité et la sécurité.

Un paquet snap contrairement aux paquets rpm ou deb, pourra s'installer sur différentes distributions. Un logiciel au format snap pourra fonctionner aussi bien sous Ubuntu, Debian, Linux-Mint mais aussi sous Fedora, Opensuse ou Gentoo et bien d'autres.

Avec le format snap, pour recevoir des nouvelles versions de logiciels, les utilisateurs n'auront plus à mettre en jeu la stabilité de leur système par l'ajout de dépôts exotiques. Ils pourront installer des paquets snap avec des commandes très simples. L'application s'exécute ensuite de manière isolée, ce qui accroît la stabilité et la sécurité du système. Le paquet .snap inclut l'application et peut contenir aussi ses dépendances ; en contrepartie d'un paquet plus lourd, ceux-ci peuvent donc faire cohabiter plusieurs versions de mêmes dépendances au sein d'un même système Linux et en facilite la distribution en ligne et hors ligne.

Les paquets .snap ne remplacent pas les paquets .deb classiques : le cœur du système (noyau, environnements graphiques, logiciels de base) continue d'être géré à l'aide des paquets traditionnels de Debian. Les paquets .snap s'ajoutent à l'existant afin de fournir un mode de distribution sûr pour les logiciels tiers ou les versions non validées par le système (la dernière version de votre logiciel préféré par exemple).

Qu'est ce qu'un snap ?

Un snap:

Pourquoi certains utilisateurs Linux n'aiment-ils pas les paquets snaps ?

perso, le simple fait que les paquets ne soient pas audités/testés par Debian, me suffit pour ne pas les utiliser. Jamais utilisé de snap @home. Merci arpinux ;)

Pré-requis

Mettre à jour :

su -
apt update && apt upgrade

Ensuite pour que les paquets snap fonctionnent il faut qu'une tâche tourne en arrière plan.

Et c'est pour cela qu'avant toute chose, il faut installer le paquet snapd sur votre système.

S'il n'est pas installé rien ne pourra se faire. 8-o

Ce démon vérifie l'intégrité des paquets snap, les confine dans leur propre espace restreint et agit comme un lanceur.

apt install snapd

Après cela, installez la base de snap ( core ) et recréez-là ( refresh ).

snap install core && snap refresh core

À l'heure où est écrit cet ajout, un bug impose de redémarrer :

reboot

Usage basique de gestion des paquets snap

Installer un paquet snap:

snap install Nom_Du_Snap

Plus d'informations et la liste des options de la commande snap en consultant le manuel (man snap).

Les snaps sont installés dans /home/utilisateur/snap.

Mettre à jour tous les paquets snap installés :

snap refresh

Logiciels disponibles sous Snap:

snap find
Seuls quelques paquets snap disponibles seront listés

Liste des logiciels installés sur votre ordinateur:

snap list

Rechercher un paquet particulier:
Admettons que nous recherchons Libreoffice.

snap find libre
Name                  Version       Developer  Notes  Summary
librealsense-chenhan  1.12.0-snap1  chenhan    -      librealsense
libreoffice           6.0.1.1       canonical  -      LibreOffice is a powerful office suite including word processing and creation of spreadsheets, slideshows and databases
librealsense          1.12.1-snap3  canonical  -      librealsense
retroarch             1.7.1         libretro   -      RetroArch

Supprimer un paquet :

snap remove Nom_Du_Snap

Mettre à jour un seul paquet:

snap refresh Nom_Du_Snap_

Passer un snap en version Beta:

snap refresh Nom_Du_Snap --channel=beta

Revenir en arrière si quelque chose c'est mal passé:

snap revert Nom_Du_Snap

Voir les modifications récentes:

Exécutez la commande suivante pour afficher une liste des modifications snap.
Cette option affiche la liste des paquets Snap que vous avez récemment installés, actualisés (mise à jour) et supprimés, et aussi quand ces opérations ont eu lieu.

snap changes

Astuces

Installer un paquet snap téléchargé:

Admettons que vous ayez trouvé un paquet snap sur internet sur le site d'un développeur et que vous l'ayez téléchargé et vous voulez l'installer.

D'abord, vous ne devriez pas faire ça. Rien ne vous garantit que ce que vous installez est vraiment ce que vous vouliez ou pensiez installer. Cependant, il y a un cas où c'est tout à fait valable: quand vous êtes développeur et que vous voulez l'installer sur votre système pour le tester! Bien sûr, vous n'avez pas de signatures d'assertion instantanée ici, mais nous devons quand même fournir un moyen de dire “ok, je sais que j'ai pleinement confiance en ce paquet, laissez-moi y aller”.

si vous faites:

snap install Nom_Paquet_Snap.snap

Vous allez avoir un message d'erreur:

error: cannot find signatures with metadata for snap "Nom_Paquet_Snap"

Il va donc falloir imiter une installation depuis le magasin officiel.

Cela se fait en deux étapes avec assert.

Prenons l'exemple donné sur la documentation officielle:

snap ack nethack_2.assert
snap install nethack_2.snap
nethack 3.4.2-2 from 'ogra' installed

Et voilà

Désinstaller les paquets snap et snapd définitivement

Visualiser les paquets snap

Ceci montrera les paquets snap tels que Firefox ( snap ), le snap-store, les thèmes et autres paquets de base installés par défaut.

snap list

Arrêter les services snapd

systemctl disable snapd.service
systemctl disable snapd.socket
disable snapd.seeded.service

Supprimer les paquets snap

Supprimez les paquets snap dans l'ordre suivant. Supprimez d'abord Firefox, deuxièmement, snap-store et les autres paquets que vous voyez dans la sortie de commande snap list dans votre système.

snap remove --purge firefox
snap remove --purge snap-store

Exemple d'autre paquet à supprimer, ( il faudra supprimer tous les paquets visibles de la commande snap list ) :

snap remove --purge gtk-common-themes

Supprimer le daemon snapd

apt autoremove --purge snapd

Voir aussi

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !