GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Une introduction pour les débutants aux snaps du format de package Linux universel

Présentation

Que sont les snaps et pourquoi devriez-vous les utiliser ? L'écosystème Linux a souffert d'un vieux problème depuis l'aube du concept de "distribution", et ce
problème est la fragmentation. L'un des principaux problèmes à l'origine de cette fragmentation réside dans les différents formats de package ; Je ne peux pas exécuter mon .debs sur mon système Fedora ou mon .rpms sur ma
machine Ubuntu. Oui, nous avons alien, qui devrait permettre la transition entre les deux formats, mais il y a deux problèmes avec cette approche :il y a d'autres formats de paquets en plus de rpm et deb et en plus, alien ne fonctionne pas toujours comme prévu . Donc, le problème est toujours là, ou devrais-je dire, était là. Entrez snap, le format de package Linux
universel, qui s'efforce d'offrir aux utilisateurs et aux développeurs un format de package unique et une facilité lorsqu'il s'agit de créer de nouveaux packages avec les applications et les bibliothèques
nécessaires, garantissant que lesdits packages sont facilement partageables entre les distributions. Dell, Samsung et la Fondation Linux sont cités comme contributeurs, tandis que parmi
les distributions prises en charge figurent Fedora, Ubuntu, Arch ou OpenSUSE.

Cet article détaillera comment utiliser les snaps en tant qu'utilisateur simple, ainsi que des instructions pour les développeurs/packagers
sur la façon de créer des snaps pour que d'autres puissent les utiliser. Le système d'exploitation que nous allons utiliser est Ubuntu 16.04, mais les instructions ci-dessous ne devraient pas être difficiles à adapter à d'autres distributions.

Snaps en tant que simple utilisateur

Cette partie vous fera découvrir Snap du point de vue de l'utilisateur :comment installer les outils nécessaires et comment les utiliser pour une utilisation
de base au quotidien. Tout d'abord, vous devez installer snapcraft, un package qui fournit snap, l'outil incontournable pour les opérations quotidiennes susmentionnées :

 $ sudo apt install snapcraft

C'est tout. Maintenant, avant d'aller plus loin, parlons de quelques détails :premièrement, les applications proposées sous forme de snaps sont des conteneurs isolés, ce qui aide beaucoup en termes de consommation de ressources et de sécurité. Vous trouverez tout installé par snap dans /snap/ , qui à son tour a sa propre hiérarchie :/snap/bin , /snap/lib etc. Deuxièmement,
vous recevez automatiquement les mises à jour. Troisièmement, considérez les snaps comme complémentaires aux packages Linux existants, et non comme des remplacements (enfin, pas maintenant, en tout cas).

Et enfin, les snaps sont facilement
intégrés aux logiciels installés, en utilisant les bibliothèques existantes via des interfaces.
Comme nous l'avons dit dans le passé, rien ne remplace le manuel. Ainsi, pendant que nous vous ferons visiter, si vous voulez approfondir, vous devrez faire quelques lectures par vous-même. Alors
commençons par les opérations de snap de base :si vous souhaitez rechercher un package, faites-le

 $ snap find hello

Ici, "hello" est l'exemple de chaîne que nous recherchons. En allant plus loin avec la même chaîne, installons quelque chose :

 $ sudo snap install hello

Vous pouvez voir les snaps installés avec ‘list’ :

 $ snap list

Mettez à jour avec actualisation, soit tout ce que vous avez installé, soit certains snaps uniquement :

 $ sudo snap refresh
OR
 $ sudo snap refresh hello

Ce qui est un peu nouveau (oui, on peut revenir en arrière avec yum par exemple, et pas seulement, mais ça ne marche pas toujours comme on le souhaite) c'est la commande 'revert' :

$ sudo snap revert hello

Utiliser snap en tant que développeur

Mise en place

Tout d'abord, voyons ce dont vous avez besoin pour commencer afin de créer des snaps. L'outil du métier s'appelle
snapd, et sur Ubuntu et Debian c'est aussi simple que

$ sudo apt install snapd snapcraft

tandis que sur Fedora, vous pouvez faire

 $ sudo dnf copr enable zyga/snapcore
 $ sudo dnf install snapd
 $ sudo systemctl enable --now snapd.service
 $ sudo setenforce 0
 $ sudo $editor /etc/selinux/config #set SELINUX=permissive and reboot to make SELINUX settings permanent

et c'est tout. Cependant, il y a un hic. Bien que ces outils fonctionnent avec la plupart des principales distributions Linux, snapcraft, l'outil que nous allons
installer et utiliser pour apprendre à créer des snaps, est disponible dans les référentiels Ubuntu et AUR, pour autant que nous le sachions. Les autres
utilisateurs de Linux n'auront qu'à cloner le référentiel git (https://github.com/snapcore/snapcraft) et à le compiler.

Faire la visite et créer un cliché

Avant de continuer, veuillez noter que vos snaps (ou ceux existants) seront et sont bien
plus volumineux que les packages de référentiel correspondants. Pourquoi? Parce qu'ils contiennent également toutes les dépendances nécessaires au fonctionnement des programmes,
ils sont donc autonomes, d'une certaine manière. Une fois snapcraft installé, il est recommandé de faire le tour :

 $ snapcraft tour

Cette commande initialisera certains répertoires et sous-répertoires (par défaut sous ./snapcraft-tour ) et vous obtiendrez des exemples de code source
, des instructions et des étapes numérotées qui vous guideront à travers les bases. Par exemple, la première étape est, comment faire autrement ?,
bonjour le monde. Saisissez

 $ cd snapcraft-tour/00-SNAPCRAFT/01-easy-start

et vous ne verrez que le fichier .yaml là-dedans, qui est essentiellement le fichier qui décrit le composant logiciel enfichable. Jetez-y un coup d'œil, vous verrez
qu'il définit le nom, ce qu'il faut récupérer, d'où, quelle application en résultera, etc. Ensuite, lancez

 $ snapcraft

dans le répertoire ci-dessus et il fera tout le nécessaire et vous donnera un clin d'œil. Ledit composant logiciel enfichable peut être installé, à condition que vous soyez toujours
dans le répertoire que nous avons mentionné ci-dessus, avec

 $ sudo snap install ./hello*.snap

Prenez le temps de jouer avec le fichier .yaml - faire une copie pour cela est toujours une bonne idée - voyez ce qui se passe si vous y modifiez certaines variables, et découvrez comment vos modifications influencent la création du composant logiciel enfichable. N'oubliez pas que vous pouvez toujours distribuer votre snap à
vos amis ou créer un référentiel pour celui-ci. Une dernière remarque :la section "source" dans le .yaml a une URL comme valeur, mais vous pouvez également
avoir une valeur locale, par ex. ./src/my_dep/ .

Derniers mots

Nous avons à peine effleuré la surface avec les boutons-pression, mais il y a beaucoup à apprendre et des choses intéressantes à faire avec
les boutons-pression ! Le problème sans fin d'avoir des logiciels uniquement emballés comme, disons, des RPM et de donner des maux de tête aux utilisateurs en cas de besoin sur Debian, par exemple, semble être terminé. Comme toujours, nous vous encourageons à jouer avec les snaps, à en créer et n'oubliez pas de partager ! Amusez-vous !


Ubuntu
  1. Une introduction à l'utilisation de tcpdump sur la ligne de commande Linux

  2. Introduction aux commandes Linux chgrp et newgrp

  3. Introduction à la commande alternatives sous Linux

  4. Une introduction au fichier Linux /etc/fstab

  5. Le guide complet du débutant sur LVM sous Linux

Cylon-deb :le programme de maintenance de Debian Linux

Comment lister le contenu d'un paquet sous Linux

Comment gérer les snaps sous Linux – Partie 2

Snap vs Flatpak vs AppImage :Connaître les différences | Ce qui est mieux

Comment installer Snap Package Manager sur Rocky Linux 8

Comment installer Snap Package Manager dans les distributions Linux