Les paquets Snap sur Linux : une nouvelle approche de l’installation logicielle
Dans l’univers Linux, les méthodes d’installation de logiciels sont multiples. On trouve les paquets Debian, les RPM de Red Hat, les dépôts utilisateurs d’Arch Linux, l’arborescence Portage de Gentoo, les AppImages, les archives tar.gz avec des binaires statiques, et bien d’autres encore. Malgré cette profusion d’options, des difficultés persistent, notamment pour les développeurs de logiciels professionnels qui peinent à assurer la disponibilité de leurs créations sur l’ensemble des distributions Linux. L’équipe d’Ubuntu s’est attaquée à ce problème en proposant une solution : les paquets Snap. Cet article vous offre un aperçu de l’utilité des paquets Snap, ainsi que des instructions sur leur installation et leur utilisation.
Avis aux lecteurs impatients : un tutoriel vidéo est disponible à la fin de cet article.
L’origine des paquets Snap
Les développeurs sont souvent contraints de conditionner leurs logiciels en une multitude de formats différents, une tâche fastidieuse et décourageante. La création de tous ces paquets prend du temps, ce qui freine la diffusion de certains programmes sur Linux. C’est pour surmonter cet obstacle que les créateurs d’Ubuntu ont imaginé les paquets Snap. Un snap est un ensemble autonome que l’on peut installer depuis la boutique Snap. Il contient tous les éléments nécessaires au bon fonctionnement d’un programme.
Ce concept d’autosuffisance englobe les bibliothèques, les binaires, les fichiers image, audio et les programmes. Le logiciel peut ainsi fonctionner indépendamment de l’état du système d’exploitation. Cette approche garantit le fonctionnement du programme même si le système hôte est obsolète ou mal configuré. Il est ainsi possible d’installer des snaps sur n’importe quelle distribution Linux, créant de fait un « installateur universel » accessible à tous les développeurs, qu’ils soient petits ou grands. Cela ouvre même la voie à la création de leurs propres boutiques de snaps !
Installation et activation de Snapd
Snapd est le moteur qui permet aux snaps de fonctionner sous Linux. L’entreprise à l’origine des snaps a collaboré avec divers fabricants de distributions Linux pour garantir que les distributions les plus populaires et les plus utilisées puissent installer et exécuter facilement les snaps. Voici comment procéder:
Note importante: les utilisateurs d’Ubuntu et des distributions basées sur Ubuntu n’ont pas besoin d’installer Snapd.
Pour Debian Testing / instable
sudo apt install snapd
Pour Fedora
sudo dnf install snapd
sudo systemctl enable --now snapd.socket
Pour Arch Linux
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
Pour OpenSUSE Leap 42.2
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket
Pour OpenSUSE Tumbleweed
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket
Pour Gentoo
sudo -s
nano -w /etc/portage/repos.conf/gentoo-snappy.conf
Collez le texte suivant:
[gentoo-snappy]
# An unofficial overlay that supports the installation of the "Snappy" backbone.
# Maintainer: Clayton "kefnab" Dobbs (clayton.dobbs@gosecur.us)
# Upstream Maintainer: Zygmunt "zyga" Krynicki (me@zygoon.pl)
location = /usr/local/portage/gentoo-snappy
sync-type = git
sync-uri = https://github.com/zyga/gentoo-snappy.git
priority = 50
auto-sync = yes
Enregistrez le fichier avec ctrl + O.
emaint sync --repo gentoo-snappy
Utilisation des Snaps
Comme mentionné précédemment, les snaps sont disponibles dans la « boutique de snaps », gérée par Ubuntu et Canonical. Chaque développeur peut y publier gratuitement son logiciel. Si vous souhaitez publier vos propres paquets snap, rendez-vous sur Snapcraft.io, un site qui regorge d’informations détaillées pour vous accompagner.
Pour rechercher des logiciels dans la boutique, utilisez la commande « find »:
snap find nom_du_programme
Par exemple :
snap find telegram
Cette commande affichera tous les snaps installables contenant le mot-clé « telegram ». Parcourez la liste et choisissez le paquet que vous souhaitez installer. Pour cela, utilisez la commande « install »:
sudo snap install telegram-latest
Cette commande téléchargera la dernière version du snap depuis la boutique, l’installera sur votre système et montera le conteneur du snap pour rendre le logiciel accessible. Pour visualiser le point de montage, utilisez la commande « lsblk ». En effet, le snap est traité comme un volume monté, similaire à un disque dur ou un périphérique.
Pour désinstaller un paquet snap, utilisez la commande « remove »:
sudo snap remove telegram-latest
Si vous avez oublié le nom du snap que vous souhaitez désinstaller, utilisez la commande « list » :
snap list
Cette commande affichera la liste des snaps installés. Prenez note du nom du snap à désinstaller et utilisez la commande « remove » mentionnée ci-dessus.
Notez qu’il existe d’autres commandes que vous pouvez découvrir en utilisant la commande « snap –help ».
Mise à jour des Snaps
Comme tout logiciel, les snaps nécessitent des mises à jour. Le démon snap gère chaque conteneur snap installé sur votre système. Les paquets snap ne sont donc pas mis à jour de manière traditionnelle. Pour mettre à jour les snaps installés, utilisez la commande « refresh » :
sudo snap refresh
En conclusion
Les paquets Snap ont le potentiel de révolutionner la façon dont nous installons et utilisons des logiciels sous Linux, en facilitant leur distribution. Au lieu de créer une multitude de paquets, de binaires et de méthodes de livraison pour réaliser la même tâche, les développeurs peuvent simplement créer un conteneur snap unique. Ce conteneur autosuffisant, comprenant bibliothèques, code exécutable et autres fichiers essentiels, est facile à installer par les utilisateurs grâce à une simple commande.
Les snaps ne sont pas parfaits. Certains nouveaux utilisateurs Linux pourraient rencontrer des difficultés. L’installation d’applications se fait uniquement via la ligne de commande. Il est donc à espérer que, à mesure que les paquets snap gagnent en popularité, l’équipe d’Ubuntu travaillera à la conception d’une interface utilisateur plus conviviale pour installer et gérer les snaps. En attendant, la ligne de commande reste de mise.