Au cours des dernières années, la communauté Linux a été bénie par des avancées remarquables dans le domaine de la gestion des paquets sur les systèmes Linux, en particulier lorsqu’il s’agit de l’emballage et de la distribution de logiciels universels ou à distribution croisée. L’une de ces avancées est le format de paquetage Snap développé par Canonical, les fabricants du populaire Ubuntu Linux.
Qu’est-ce que les paquets Snap ?
Les snap sont des applications à distribution croisée, sans dépendance et faciles à installer, empaquetées avec toutes leurs dépendances pour fonctionner sur toutes les principales distributions Linux. À partir d’une seule construction, un snap (application) fonctionnera sur toutes les distributions Linux prises en charge sur le bureau, dans le cloud et l’IoT. Les distributions prises en charge comprennent Ubuntu, Debian, Fedora, Arch Linux, Manjaro et CentOS/RHEL.
Les snap sont sécurisés – ils sont confinés et sandboxés afin de ne pas compromettre l’ensemble du système. Ils fonctionnent sous différents niveaux de confinement (qui est le degré d’isolation du système de base et les uns des autres). Plus particulièrement, chaque snap a une interface soigneusement sélectionnée par le créateur du snap, en fonction des exigences du snap, pour fournir un accès à des ressources système spécifiques en dehors de leur confinement, comme l’accès au réseau, l’accès au bureau, et plus encore.
Un autre concept important dans l’écosystème snap est celui des canaux. Un canal détermine quelle version d’un snap est installée et suivie pour les mises à jour et il se compose et est subdivisé par, des pistes, des niveaux de risque et des branches.
Les principaux composants du système de gestion des paquets snap sont :
- snapd – le service d’arrière-plan qui gère et maintient vos snaps sur un système Linux.
- snap – à la fois le format de paquetage d’application et l’outil d’interface de ligne de commande utilisé pour installer et supprimer des snaps et faire beaucoup d’autres choses dans l’écosystème snap.
- snapcraft – le framework et le puissant outil de ligne de commande pour construire des snaps.
- snap store – un endroit où les développeurs peuvent partager leurs snaps et où les utilisateurs de Linux peuvent les rechercher et les installer.
En outre, les snaps se mettent à jour automatiquement. Vous pouvez configurer quand et comment les mises à jour se produisent. Par défaut, le démon snapd vérifie les mises à jour jusqu’à quatre fois par jour : chaque vérification de mise à jour est appelée un rafraîchissement. Vous pouvez également lancer manuellement un rafraîchissement.
Comment installer Snapd sous Linux
Comme décrit ci-dessus, le démon snapd est le service d’arrière-plan qui gère et maintient votre environnement snap sur un système Linux, en mettant en œuvre les politiques de confinement et en contrôlant les interfaces qui permettent aux snaps d’accéder à des ressources système spécifiques. Il fournit également la commande snap et sert de nombreux autres objectifs.
Pour installer le paquet snapd sur votre système, exécutez la commande appropriée pour votre distribution Linux.
------------ ------------ $ sudo apt update $ sudo apt install snapd------------ ------------# dnf install snapd------------ ------------# yum install epel-release # yum install snapd------------ ------------$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy$ sudo zypper --gpg-auto-import-keys refresh$ sudo zypper dup --from snappy$ sudo zypper install snapd------------ ------------# pacman -S snapd------------ ------------# git clone https://aur.archlinux.org/snapd.git# cd snapd# makepkg -si
Après avoir installé snapd sur votre système, activez l’unité systemd qui gère le socket de communication snap principal, en utilisant les commandes systemctl comme suit .
Sur Ubuntu et ses dérivés, cela devrait être déclenché automatiquement par l’installateur du paquet.
$ sudo systemctl enable --now snapd.socket
Notez que vous ne pouvez pas exécuter la commande snap si le snapd.socket ne fonctionne pas. Exécutez les commandes suivantes pour vérifier si elle est active et si elle est activée pour démarrer automatiquement au démarrage du système.
$ sudo systemctl is-active snapd.socket$ sudo systemctl status snapd.socket$ sudo systemctl is-enabled snapd.socket
Puis, activez la prise en charge classique de snap en créant un lien symbolique entre /var/lib/snapd/snap et /snap comme suit.
$ sudo ln -s /var/lib/snapd/snap /snap
Pour vérifier la version de snapd et de l’outil de ligne de commande snap installés sur votre système, exécutez la commande suivante.
$ snap version
Comment installer des snaps sous Linux
La commande snap vous permet d’installer, de configurer, de rafraîchir et de supprimer des snaps, et d’interagir avec l’écosystème snap plus large.
Avant d’installer un snap, vous pouvez vérifier s’il existe dans le magasin snap. Par exemple, si l’application appartient à la catégorie des « serveurs de chat » ou des « lecteurs multimédia », vous pouvez exécuter ces commandes pour la rechercher, ce qui interrogera le magasin pour les paquets disponibles dans le canal stable.
$ snap find "chat servers"$ snap find "media players"
Pour afficher des informations détaillées sur un snap, par exemple, rocketchat-server, vous pouvez spécifier son nom ou son chemin. Notez que les noms sont recherchés à la fois dans le magasin de snap et dans les snaps installés.
$ snap info rocketchat-server
Pour installer un snap sur votre système, par exemple, rocketchat-server, exécutez la commande suivante. Si aucune option n’est fournie, un snap est installé en suivant le canal « stable », avec un strict confinement de sécurité.
$ sudo snap install rocketchat-server
Vous pouvez choisir d’installer à partir d’un canal différent : edge, beta, ou candidate, pour une raison ou une autre, en utilisant respectivement les options --edge
, --beta
, ou --candidate
. Ou utilisez l’option --channel
et spécifiez le canal à partir duquel vous souhaitez effectuer l’installation.
$ sudo snap install --edge rocketchat-server $ sudo snap install --beta rocketchat-server$ sudo snap install --candidate rocketchat-server
Gérer les snaps dans Linux
Dans cette section, nous allons apprendre à gérer les snaps dans le système Linux.
Voir les snaps installés
Pour afficher un résumé des snaps installés sur votre système, utilisez la commande suivante.
$ snap list
Pour lister la révision actuelle d’un snap utilisé, spécifiez son nom. Vous pouvez également lister toutes ses révisions disponibles en ajoutant l’option --all
.
$ snap list mailspringOR$ snap list --all mailspring
Mise à jour et retour en arrière des snaps
Vous pouvez mettre à jour un snap spécifié, ou tous les snaps du système si aucun n’est spécifié comme suit. La commande refresh vérifie le canal suivi par le snap et elle télécharge et installe une version plus récente du snap si elle est disponible.
$ sudo snap refresh mailspringOR$ sudo snap refresh#update all snaps on the local system
Après avoir mis à jour une application vers une nouvelle version, vous pouvez revenir à une version précédemment utilisée en utilisant la commande revert. Notez que les données associées au logiciel seront également rétablies.
$ sudo snap revert mailspring
Maintenant lorsque vous vérifiez toutes les révisions de mailspring, la dernière révision est désactivée, une révision précédemment utilisée est maintenant active.
$ snap list --all mailspring
Désactivation/activation et suppression des snaps
Vous pouvez désactiver un snap si vous ne voulez pas l’utiliser. Lorsqu’il est désactivé, les binaires et les services d’un snap ne seront plus disponibles, cependant, toutes les données seront toujours là.
$ sudo snap disable mailspring
Si vous avez besoin d’utiliser le snap à nouveau, vous pouvez le réactiver.
$ sudo snap enable mailspring
Pour supprimer complètement un snap de votre système, utilisez la commande remove. Par défaut, toutes les révisions d’un snap sont supprimées.
$ sudo snap remove mailspring
Pour supprimer une révision spécifique, utilisez l’option --revision
comme suit.
$ sudo snap remove --revision=482 mailspring
Il est essentiel de noter que lorsque vous supprimez un snap, ses données (telles que les données internes de l’utilisateur, du système et de la configuration) sont enregistrées par snapd (version 2.39 et supérieure) sous forme d’instantané, et stockées sur le système pendant 31 jours. Dans le cas où vous réinstallez le snap dans les 31 jours, vous pouvez restaurer les données.
Conclusion
Les snap sont de plus en plus populaires au sein de la communauté Linux car ils fournissent un moyen facile d’installer des logiciels sur n’importe quelle distribution Linux. Dans ce guide, nous avons montré comment installer et travailler avec les snaps sous Linux. Nous avons couvert la façon d’installer snapd, d’installer snaps, d’afficher les snaps installés, de mettre à jour et de rétablir snaps, et de désactiver/activer et supprimer snaps.
Vous pouvez poser des questions ou nous joindre via le formulaire de commentaires ci-dessous. Dans la prochaine partie de ce guide, nous couvrirons la gestion des snaps (commandes, alias, services et instantanés) sous Linux.
La gestion des snaps est un sujet important.