Un guide pour les débutants sur les snaps dans Linux – Partie 1

Ces 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, surtout en ce qui concerne l’emballage et la distribution universels ou inter-distributions des logiciels. L’une de ces avancées est le format de paquet Snap développé par Canonical, les créateurs du populaire Ubuntu Linux.

Qu’est-ce que les paquets Snap?

Les Snaps sont des applications inter-distributions, sans dépendances 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 les ordinateurs de bureau, dans le cloud et l’IoT. Les distributions prises en charge incluent Ubuntu, Debian, Fedora, Arch Linux, Manjaro et CentOS/RHEL.

Les Snaps sont sécurisés – ils sont confinés et isolé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 par rapport au système de base et les uns aux autres). Plus remarquablement, chaque snap dispose d’une interface soigneusement sélectionnée par le créateur du snap, en fonction des besoins du snap, pour fournir un accès à des ressources système spécifiques en dehors de leur confinement telles que l’accès au réseau, l’accès au bureau, et plus encore.

Un autre concept important dans l’écosystème snap est les Canaux. Un canal détermine quelle version d’un snap est installée et suivie pour les mises à jour, et il est constitué et 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 en arrière-plan qui gère et maintient vos snaps sur un système Linux.
  • snap – à la fois le format de paquet d’application et l’outil d’interface en ligne de commande utilisé pour installer et supprimer des snaps et effectuer de nombreuses autres tâches dans l’écosystème snap.
  • snapcraft – le framework et l’outil puissant en ligne de commande pour construire des snaps.
  • Magasin snap – un endroit où les développeurs peuvent partager leurs snaps et où les utilisateurs Linux peuvent les rechercher et les installer.

De plus, les snaps se mettent également à 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 initier manuellement un rafraîchissement.

Comment installer Snapd sous Linux

Comme décrit ci-dessus, le démon snapd est le service en 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 remplit de nombreuses autres fonctions.

Pour installer le paquet snapd sur votre système, exécutez la commande appropriée pour votre distribution Linux.

------------ [On Debian and Ubuntu] ------------ 
$ sudo apt update 
$ sudo apt install snapd

------------ [On Fedora Linux] ------------
# dnf install snapd			

------------ [On CentOS and RHEL] ------------
# yum install epel-release 
# yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
$ 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

------------ [On Manjaro Linux] ------------
# pacman -S snapd

------------ [On Arch Linux] ------------
# 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 principal socket de communication snap, en utilisant les commandes systemctl comme suit.

Sous Ubuntu et ses dérivés, cela devrait être déclenché automatiquement par l’installateur de paquets.

$ sudo systemctl enable --now snapd.socket

Notez que vous ne pouvez pas exécuter la commande snap si snapd.socket n’est pas en cours d’exécution. Exécutez les commandes suivantes pour vérifier s’il est actif et s’il est activé 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
Check Snapd Service Status

Ensuite, activez le support classic 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 en ligne de commande snap installé sur votre système, exécutez la commande suivante.

$ snap version 
Check Snapd and Snap Version

Comment installer des Snaps sous Linux

La commande snap vous permet d’installer, configurer, actualiser et supprimer des snaps, et d’interagir avec l’écosystème de snaps plus large.

Avant d’installer un snap, vous pouvez vérifier s’il existe dans le snap store. Par exemple, si l’application appartient à la catégorie des « serveurs de discussion » ou des « lecteurs multimédias« , vous pouvez exécuter ces commandes pour le rechercher, ce qui interrogera le magasin pour les paquets disponibles dans le canal stable.

$ snap find "chat servers"
$ snap find "media players"
Find Applications in Snap Store

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 snap store et dans les snaps installés.

$ snap info rocketchat-server
Get Info About Application in Snap

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 confinement de sécurité strict.

$ sudo snap install rocketchat-server
Install Application from Snap Store

Vous pouvez choisir d’installer à partir d’un canal différent : edge, beta, ou candidate, pour une raison ou une autre, en utilisant les options --edge, --beta, ou --candidate respectivement. Ou utilisez l’option --channel et spécifiez le canal à partir duquel vous souhaitez installer.

$ sudo snap install --edge rocketchat-server        
$ sudo snap install --beta rocketchat-server
$ sudo snap install --candidate rocketchat-server

Gérer les Snaps sous Linux

Dans cette section, nous verrons comment gérer les snaps dans un système Linux.

Visualisation des Snaps Installés

Pour afficher un résumé des snaps installés sur votre système, utilisez la commande suivante.

$ snap list
List Installed Snaps

Pour répertorier la révision actuelle d’un snap en cours d’utilisation, spécifiez son nom. Vous pouvez également répertorier toutes ses révisions disponibles en ajoutant l’option --all.

$ snap list mailspring
OR
$ snap list --all mailspring
List All Installation Versions of Snap

Mise à jour et réversion des snaps

Vous pouvez mettre à jour un snap spécifié ou tous les snaps du système s’il n’y en a aucun de spécifié comme suit. La commande refresh vérifie le canal suivi par le snap et télécharge et installe une version plus récente du snap si elle est disponible.

$ sudo snap refresh mailspring
OR
$ sudo snap refresh		#update all snaps on the local system
Refresh a Snap

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

$ sudo snap revert mailspring
Revert a Snap to Older Version

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
Check Revision of Snap

Désactivation/Activation et Suppression des snaps

Vous pouvez désactiver un snap si vous ne souhaitez 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 à nouveau le snap, vous pouvez l’activer à nouveau.

$ 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 important de noter que lorsque vous supprimez une instantané, ses données (telles que les données utilisateur, système et de configuration internes) sont sauvegardées par snapd (version 2.39 et ultérieure) sous forme d’instantané, et stockées sur le système pendant 31 jours. En cas de réinstallation de l’instantané dans les 31 jours, vous pouvez restaurer les données.

Conclusion

Snaps deviennent de plus en plus populaires au sein de la communauté Linux car ils offrent un moyen facile d’installer des logiciels sur n’importe quelle distribution Linux. Dans ce guide, nous avons montré comment installer et travailler avec des snaps sous Linux. Nous avons couvert comment installer snapd, installer des snaps, afficher les snaps installés, mettre à jour et revenir en arrière sur les snaps, et désactiver/activer et supprimer les snaps.

Vous pouvez poser des questions ou nous contacter via le formulaire de feedback ci-dessous. Dans la prochaine partie de ce guide, nous couvrirons la gestion des snaps (commandes, alias, services et instantanés) sous Linux.

Source:
https://www.tecmint.com/install-snap-in-linux/