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

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 personnels (PPA). Ils pourront récupérer un paquet .snap distribué par l'éditeur via le gestionnaire de paquets Snappy. 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 Ubuntu (noyau, environnements graphiques, logiciels de base) continue d'être géré à l'aide des paquets issus 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).

Canonical a développé le système Snappy pour permettre son utilisation sur le marché des serveurs et de l'internet des objets ; les développeurs d'applications graphiques vont peut-être davantage privilégier le système Flatpak, développé spécifiquement pour l'utilisation graphique sur ordinateur personnel, et très bien intégré à Gnome Shell.

Un snap :

  • combine un système de fichiers compressés SquashFS contenant le code de l'application et un fichier spécifique de métadonnées snap.yaml. Il est en lecture seule et, une fois installé, dispose d'une zone accessible en écriture.
  • est autonome. Il inclut la plupart des bibliothèques et des outils dont il a besoin et peut être mis à jour ou restauré sans affecter le reste du système.
  • est séparé du reste du système d'exploitation et des autres applications grâce à des mécanismes de sécurité, mais il peut échanger du contenu et fonctionner avec d'autres snaps suivant des règles précises contrôlées par l'utilisateur et les paramétrages généraux du système d'exploitation.

Desormais vous pouvez directement installer des applications snap en passant par la logithèque ubuntu comme pour les autres applications.

Pré-requis

Il faut commencer par installer le paquet snapd sur votre système (normalement, il est pré-installé sur Ubuntu).

Il faut aussi penser à définir le nombre de versions de chaque logiciel livré en technique snap qui seront conservées sous peine d'en retrouver un nombre important et de constater que la consommation de la RAM est volumineuse. Il semble qu'une valeur de deux est bien suffisante. La valeur par défaut est 3.

sudo snap set system refresh.retain=2

En ligne de commande

Vous pouvez aussi passer par un terminal pour installer une application snap :

sudo snap install nom_du_snap

Plus d'informations et la liste des options de la commande snap en consultant le manuel (man snap).
Notamment, il peut-être intéressant d'utiliser l'option –classic qui évite le confinement… et permet par exemple d'imprimer sur les imprimantes disponibles1):

sudo snap install --classic nom_du_snap 

En ligne de commande :

sudo snap refresh

Quelques logiciels disponibles sous Snap :

Quelques Logiciels disponibles sous Snap, en tapant :

snap find

Liste des logiciels installés sur votre ordinateur, en tapant :

snap list

Pour supprimer un paquet :

sudo snap remove mon_logiciel

Pour faire du ménage de manière radicale

voir : https://superuser.com/questions/1310825/how-to-remove-old-version-of-installed-snaps

Attention, cette commande supprime immédiatement tous les snap désactivés

0. constater la place occupée par les snap :

sudo du -csh /snap/* |sort -rh

pour chaque version :

sudo du -csh /snap/nomdusnap/* |sort -rh

1. Vérifier la liste des snap qui seront supprimés

snap list --all
  • Repérer les lignes avec les notions désactivé (ou sur un system en anglais disabled. Dans la suite vous devrez adapter les commandes par le terme approprié).
  • Veillez à ce qu'au moins 1 version des snap que vous souhaitez garder ne soit pas repérer désactivé. En effet la commande suivante supprime sans distinction tous les snap marqués comme tel.
  • Pour afficher la liste de ceux qui seront supprimés
    snap list --all | awk '/désactivé/{print}'

2. suppression Si la liste vous convient vous pouvez taper la commande suivante (en anglais remplacer désactivé par disabled ):

snap list --all | awk '/désactivé/{print $1, $3}' |while read snapname revision; do echo $snapname $revision; sudo snap remove "$snapname" --revision="$revision"; done

Vous pourrez constater le gain de place avec

df -h

et

sudo du -csh /snap/* |sort -rh

L'application ne fait pas nécessairement un ménage parfait. Il faut s'assurer que des paquets déactivés n'ont pas été conservés.

snap list --all | grep activ

Pour chaque ligne trouvée, il faut supprimer le paquet devenu inutile avec la commande

    snap remove nom_logiciel --revision=9999

en renseignant le numéro de révision par la bonne valeur qui a été obtenue.

Lorsque cette opération est faite pour la totalité des lignes, Il faut regarder si un paquet ne dispose pas de plusieurs versions.

   snap list --all

Au besoin, supprimer le paquet ancien si détection de double.


  • snap.txt
  • Dernière modification: Le 05/10/2019, 21:26
  • par L'Africain