Recherche de site Web

Une introduction pour débutants au format universel de paquet Linux


Introduction

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

Cet article détaille comment utiliser les snaps en tant qu’utilisateur simple, ainsi que des instructions pour developers/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 qu’utilisateur simple

Cette partie vous donnera un aperçu de snap du point de vue de l’utilisateur : comment installer les outils nécessaires et comment les utiliser pour une utilisation de base et quotidienne
. Tout d’abord, vous devez installer snapcraft, un package qui fournit snap, l’outil de prédilection 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 : tout d’abord, les applications proposées sous forme de snaps sont des conteneurs isolés, ce qui aide beaucoup en termes de consommation de ressources
ainsi qu’en matière de sécurité. Vous trouverez tout installé par snap dans /snap/, qui à son tour a sa propre hiérarchie : /snap/bin, /snap/lib et ainsi de suite. Deuxièmement,
vous obtenez automatiquement les mises à jour. Troisièmement, considérez les snaps comme des compléments aux paquets 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é, il n’y a pas de substitut au manuel. Ainsi, bien que nous vous fassions une visite, si vous souhaitez approfondir votre propre lecture, vous devrez faire quelques lectures par vous-même. Alors
commençons par les opérations de base : si vous voulez rechercher un paquet, faites

 $ snap find hello

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

 $ sudo snap install hello

Vous pouvez voir les clichés 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, vous pouvez revenir en arrière avec yum par exemple, et pas seulement, mais cela ne fonctionne pas toujours comme vous le souhaitez), c’est la commande 'revert' :

sudo snap revert hello

Utilisation de Snap en tant que développeur

Mise en place

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

sudo apt install snapd snapcraft

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 que nous puissions apprendre à créer des snaps, est disponible à partir des dépôts Ubuntu et AUR, pour autant que nous le sachions. Le reste de
les utilisateurs Linux n’auront qu’à cloner le dépôt git (https://github.com/snapcore/snapcraft) et le construire.

Faire la visite et créer un cliché

Avant de continuer, veuillez noter que vos snaps (ou ceux existants) seront et sont beaucoup
plus grands que les paquets de dépôt correspondants. Pourquoi? Parce qu’ils contiennent également toutes les dépendances nécessaires au fonctionnement des programmes, ils sont < > autonomes, d’une certaine manière. Une fois que Snapcraft est installé, il est recommandé de faire la visite guidée :

 $ snapcraft tour

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

 $ 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 snap. Jetez-y un coup d’œil, vous verrez
qu’il définit le nom, ce qu’il faut récupérer, d’où, l’application qui en résultera, etc. Ensuite, il suffit de courir

 $ snapcraft

à l’intérieur du répertoire ci-dessus et il fera tout ce dont vous avez besoin et vous donnera un coup d’œil. Ledit snap 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 modifiez certaines variables />
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 aussi
avoir une valeur locale, par exemple ./src/my_dep/.

Le mot de la fin

Nous n’avons fait qu’effleurer la surface avec les snaps, remarquez, mais il y a beaucoup à apprendre et des choses sympas à faire avec
snaps ! L’éternel problème d’avoir des logiciels uniquement empaqueté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 les partager ! Amusez-vous!

Articles connexes: