Ce que vous devez savoir sur les snaps sur Ubuntu 20.04

Photo of author

By pierre



Ubuntu 20.04 Focal Fossa, une version largement appréciée, a cependant introduit un changement controversé : l’utilisation par défaut du centre logiciel pour les applications basées sur Snap. Cet article explore les implications de cette décision pour les utilisateurs.

Comprendre les packages Snap sous Linux

Le terme « Snap » fait référence à la fois à la commande snap et aux fichiers d’installation snap. Un snap est un conteneur regroupant une application et toutes ses dépendances dans un unique fichier compressé. Ces dépendances peuvent inclure des bibliothèques, des serveurs web, des bases de données ou tout autre composant nécessaire au lancement et au fonctionnement de l’application.

L’avantage majeur des snaps est leur capacité à simplifier les installations en évitant les problèmes liés à la gestion des dépendances. Ces problèmes surviennent lorsqu’une application ne fonctionne pas correctement en raison de l’absence d’une ressource requise, d’une version incompatible ou d’une installation qui écrase des fichiers nécessaires à d’autres applications.

Lors de l’installation, un snap est décompressé et ses fichiers sont extraits. Cependant, c’est au moment de l’exécution que le fichier snap est monté sur un périphérique de boucle. Cela rend accessible le système de fichiers SquashFS contenu dans le fichier.

L’application fonctionne de manière isolée, ses fichiers ne pouvant pas interférer avec le reste du système. Il est même possible d’installer plusieurs versions d’une même application sans conflit.

Cependant, les fichiers d’installation snap sont plus volumineux que les fichiers DEB traditionnels. Ils nécessitent également plus d’espace disque. Chaque application utilisant un snap installe sa propre copie des ressources, ce qui n’optimise pas l’utilisation de l’espace disque. Bien que les disques durs soient de plus en plus grands et moins chers, cette duplication est critiquée par les utilisateurs attachés aux méthodes d’installation traditionnelles. Le lancement des applications est également plus lent.

Les snaps ont été également critiqués pour ne pas toujours suivre le thème du bureau et pour leurs mises à jour automatiques. De plus, certains utilisateurs se méfient du fait que les snaps ne sont pas toujours créés par les développeurs des logiciels, les considérant comme potentiellement non « officiels ».

Dans Focal Fossa, Canonical a remplacé l’application Ubuntu Software par une version qui privilégie l’installation de snaps par défaut. Quelles sont les implications pour les utilisateurs ?

Le Centre Logiciel Ubuntu

La commande `df` permet d’afficher les systèmes de fichiers SquashFS montés. L’option `-t` permet de limiter la sortie à ceux qui nous intéressent :

df -t squashfs

La commande `snap list` affiche les snaps installés :

snap list

On observe plusieurs snaps, dont deux liés au bureau GNOME, deux à la fonctionnalité snap de base, un pour les thèmes GTK et un autre pour la boutique de snaps. L’application Snap-Store est elle-même un snap.

Il est important de noter que l’exécution de la commande `snap-store` dans le terminal lance l’application Ubuntu Software.

Habituellement, l’application Ubuntu Software est lancée via son icône. L’exécution en ligne de commande démontre que, sous l’interface, il s’agit bien de l’application snap-store :

snap-store

L’interface de l’application Ubuntu Software est familière. On retrouve les mêmes fonctionnalités de recherche et d’installation qu’auparavant.

Prenons l’exemple de l’application « sqlitebrowser ». L’écran de résultats affiche des détails sur l’application et une capture d’écran. En cliquant sur « Installer », on démarre le processus d’installation.

Si on ne fait pas attention, on ne remarque pas les changements introduits. En descendant dans la page, on observe des informations spécifiques aux snaps.

La section « Détails » fournit les informations suivantes :

Canal : Le canal depuis lequel l’installation récupère l’application.
Version : La version du logiciel.
Licence : Le type de licence.
Développeur : La personne ou l’organisation ayant créé le snap ou écrit l’application.
Source : L’emplacement du téléchargement du snap (snapcraft.io est la boutique Snapcraft de Canonical).
Taille du téléchargement : La taille du fichier snap.

Le canal peut être l’un des suivants :

Stable : La valeur par défaut, contenant les packages les plus stables et éprouvés.
Candidat : Moins stable que le canal « Stable », il contient des logiciels presque prêts pour la version finale.
Bêta : Ce canal correspond à un logiciel en fin de cycle de développement, mais dont la stabilité n’est pas totalement garantie.
Edge : Destiné aux testeurs et aux utilisateurs curieux, il contient les versions les plus récentes et instables. À éviter pour une utilisation importante.

Une fois l’installation terminée, la liste des snaps installés peut être vérifiée :

snap list

La nouvelle entrée apparaît en bas de la liste. Le lancement de l’application s’effectue avec la commande :

sqlitebrowser

L’application fonctionne correctement, même si l’interface semble un peu datée avec ses éléments graphiques rappelant les interfaces utilisateur d’une autre époque. Ce n’est pas le cas de tous les snaps, mais c’est un exemple frappant.

Installation depuis la ligne de commande

L’installation d’applications depuis la ligne de commande reste inchangée. L’outil `snap` permet d’installer et de désinstaller des snaps. Les commandes `apt-get` et `apt` sont toujours disponibles.

Installons la même application à partir de la ligne de commande. Comme la version installée précédemment est un snap, les deux installations ne se gêneront pas :

sudo apt-get install sqlitebrowser

Une fois l’installation terminée, tapez « sqlitebrowser » après avoir appuyé sur la touche Super. Deux versions du programme sont disponibles.

Lançons les deux versions.

On peut constater que les deux versions sont installées et fonctionnent en même temps.

La version à l’arrière est celle installée via la ligne de commande, tandis que celle au premier plan est la version snap.

La version `apt-get` est la 3.11.2.
La version snap est la 3.11.99.

Malgré l’apparence, la version installée depuis la ligne de commande est plus ancienne. Les deux versions coexistent parfaitement, illustrant la capacité des snaps à isoler différentes versions d’une même application.

De plus, l’installation d’applications via les commandes `apt` ou `apt-get` reste inchangée et n’est pas affectée par l’introduction des snaps.

Quelle méthode choisir ?

Si vous n’avez pas de préférence particulière, l’utilisation des snaps est une option viable.

Cependant, si l’un des points suivants est important pour vous, il est préférable d’éviter le centre logiciel Ubuntu et d’installer vos applications de manière traditionnelle :

  • Les snaps se lancent plus lentement, surtout sur du matériel ancien.
  • Les snaps consomment plus d’espace disque.
  • Les snaps se mettent à jour automatiquement.
  • Les snaps peuvent ne pas s’accorder avec les thèmes installés sur votre bureau.
  • Les snaps ne sont pas toujours « officiels » et sont souvent créés par des bénévoles.

Si votre ordinateur est récent, la différence de vitesse entre le lancement d’un snap ou d’une application traditionnelle est minime. La différence de temps la plus notable se situe lors du téléchargement, les snaps étant généralement plus longs à télécharger. Cependant, le téléchargement n’est effectué qu’une seule fois, ce n’est donc pas un problème majeur au quotidien.

Même si vous êtes convaincu par les snaps, vous ne pouvez pas entièrement vous y fier, car certaines applications ne sont pas disponibles sous cette forme. Dans ce cas, il est toujours nécessaire de les installer via la ligne de commande.

Canonical affiche clairement sa stratégie. L’entreprise considère les snaps comme l’avenir de la distribution d’applications. Les utilisateurs ont toujours le choix : utiliser les snaps, les ignorer, ou adopter une approche hybride combinant les snaps et les installations traditionnelles.