Agence web » Actualités du digital » Comment travailler avec des packages Snap sous Linux

Comment travailler avec des packages Snap sous Linux

Lorsque vous installez des packages logiciels Linux avec snap, vous pouvez dire adieu à l'enfer de la dépendance et à la suppression d'autres applications qui fonctionnent. Les packages Snap ont été initialement conçus pour Ubuntu, mais ils sont désormais disponibles sur diverses distributions Linux.

Que sont les packages Snap?

Dans le passé, l'installation d'applications sur Linux était une expérience potentiellement frustrante. Vous installeriez quelque chose uniquement pour trouver une bibliothèque particulière ou une autre dépendance manquante ou obsolète. Vous traqueriez ensuite la ressource manquante et l'installer, seulement pour trouver une autre application dépendait de la version de la bibliothèque que vous venez de remplacer. Fixez-en un, cassez-en un, répétez.

Cela s'est amélioré avec de meilleurs systèmes de gestion de paquets, comme apt, dnf et pacman. Cependant, vous rencontrez toujours des difficultés si vous avez besoin d'installer différentes versions de la même application. Ou, si vous utilisez deux applications qui s'affrontent parce qu'elles sont liées à des versions spécifiques, mais différentes, d'une bibliothèque.

Une solution à ces problèmes est la mise en place d'applications et les systèmes de déploiement. Snappy est l'un des plus populaires d'entre eux. Il est basé sur un système de packaging et de déploiement appelé Click, qui renvoie à l'initiative Ubuntu Touch. AppImage et FlatPack sont d'autres que vous pourriez avoir rencontrés.

Ces systèmes encapsulent l'application avec toutes les dépendances et autres exigences dans un seul fichier compressé. L'application s'exécute alors dans une sorte de mini-conteneur. Il est mis en bac à sable et séparé des autres applications. Les bibliothèques et autres ressources avec lesquelles l'application est fournie ou dont elle a besoin ne sont disponibles que pour elle seule.

Ils ne sont pas installés dans le sens traditionnel du terme, ils ne posent donc aucun problème avec d'autres applications qui nécessitent différentes versions des mêmes ressources. Vous pouvez même installer et exécuter des applications qui nécessitent des versions de bibliothèque en conflit car chaque application se trouve dans son propre sandbox.

S'ils ne sont pas installés de la manière habituelle, comment sont-ils traités? Eh bien, le fichier de package unique est téléchargé, décompressé et monté en tant que SquashFSsystème de fichiers virtuel. Il vous est ensuite présenté comme un environnement virtuel. Tout cela se déroule dans les coulisses. Tout ce que vous savez, c'est que vous avez installé une application et que vous y avez désormais accès.

Bien sûr, comme chaque fichier de package doit contenir toutes les ressources dont l'application a besoin, les fichiers de package peuvent être volumineux. Il est également facile de dupliquer une ressource que vous n’installeriez normalement qu’une seule fois, comme MySQL ou Apache. Si deux différents snap les applications nécessitent les mêmes ressources, elles apportent chacune leur propre copie.

C'est le compromis pour la simplicité de l'installation et la suppression des maux de tête liés aux conflits de ressources.

Installation de snapd

Snappy a été introduit avec Ubuntu 16.04, donc si vous utilisez cette version ou une version ultérieure, vous êtes déjà prêt à partir. Sur notre machine, Snappy a été installé sur Manjaro 18.04, mais nous avons dû l'installer sur Fedora 31.

snap est à la fois le nom des fichiers de package et la commande que vous utilisez pour interagir avec eux. Dans les coulisses, le snapd démon est également le nom du package que vous devez installer si vous n'avez pas déjà Snappy sur votre ordinateur.

À installer snapd sur Fedora, tapez la commande suivante:

sudo dnf install snapd

Si vous devez l'installer sur Manjaro, utilisez ces commandes:

sudo pacman -Sy snapd
sudo systemctl enable --now snapd.socket

Vous pouvez utiliser le snap version pour voir la version de la snap client, snapd démon et le numéro de série du logiciel. Le nom et la version de votre distribution Linux et la version du noyau seront également affichés pour vous.

Tapez ce qui suit:

snap version

Installation de packages snap

C'est un processus assez simple pour installer un snap paquet. Vous pouvez utiliser snap chercher snap packages, puis installez celui que vous souhaitez.

Nous tapons ce qui suit pour rechercher et installer l'éditeur d'image gimp:

snap find gimp

snap recherche des correspondances avec l'indice de recherche «gimp» et renvoie ses résultats. Il trouvera tout ce qui correspond ou mentionne le terme de recherche.

Pour installer l'un des packages, nous utilisons la valeur du Name , comme illustré ci-dessous:

sudo snap install gimp

Au fur et à mesure du téléchargement, le pourcentage de réussite atteint augmente et une barre de progression se glisse à gauche de la fenêtre du terminal. Une fois l'installation terminée, un message s'affiche (comme illustré ci-dessous) vous indiquant que le package a été installé.

Vous pouvez utiliser le df pour vérifier la capacité et l'utilisation des différents systèmes de fichiers configurés sur votre ordinateur Linux. Si nous canalisons sa sortie dans le grep commande et recherchez «gimp», nous isolons l'entrée du package que nous venons d'installer.

Nous tapons ce qui suit:

df | grep gimp

Cela nous montre que le package snap a été monté comme s'il s'agissait d'un système de fichiers. Le point de montage est dans le snap répertoire ici: /snap/gimp/252. Le «252» est le numéro de version de cette version de gimp.

Le système de fichiers est répertorié comme: /dev/loop18. Les fichiers de périphérique en boucle sont utilisés pour rendre les fichiers réguliers accessibles en tant que périphériques de bloc. Ils sont généralement utilisés pour monter les systèmes de fichiers dans des images de disque. Dans ce cas, ils montent le SquashFS système de fichiers dans le snap paquet. Le «18» signifie que c'est le 18 /dev/loop fichier de périphérique utilisé sur cet ordinateur Linux.

Nous pouvons utiliser le df pour vérifier rapidement cela. Nous utiliserons le – t (type) option pour limiter la sortie à SquashFS types de fichiers uniquement.

Nous tapons ce qui suit:

df -t squashfs

Le monté SquashFS les systèmes de fichiers sont répertoriés. UNE /dev/loop fichier de périphérique gère chacun d'eux, et il y en a 18.

Chaque système de fichiers est monté sur un répertoire dans le /snap annuaire. Cependant, cela ne signifie pas qu'il existe 18 différents snap packages installés sur cet ordinateur. Ceci est une distribution Ubuntu, donc certains snap les packages sont installés dès la sortie de la boîte, et nous venons d'en installer un autre.

De plus, lorsque vous installez snapd, il installe un noyau snap packages pour répondre aux besoins des autres snap paquets.

Nous pouvons utiliser le snap list , comme indiqué ci-dessous, pour répertorier les snap paquets:

snap list

La sortie était un peu large, donc la fin des listes est indiquée ci-dessous.

Voici la liste complète:

Name                 Version                    Rev   Tracking  Publisher    Notes
core                 16-2.43.3                  8689  stable    canonical*   core
core18               20200124                   1668  stable    canonical*   base
gimp                 2.10.18                    252   stable    snapcrafters -
gnome-3-26-1604      3.26.0.20191114            98    stable/…  canonical*   -
gnome-3-28-1804      3.28.0-16-g27c9498.27c9498 116   stable    canonical*   -
gnome-calculator     3.34.1+git1.d34dc842       544   stable/…  canonical*   -
gnome-characters     v3.32.1+git3.b9120df       399   stable/…  canonical*   -
gnome-logs           3.34.0                     81    stable/…  canonical*   -
gnome-system-monitor 3.32.1-3-g0ea89b4922       127   stable/…  canonical*   -
gtk-common-themes    0.1-28-g1503258            1440  stable/…  canonical*   -

Comme vous pouvez le voir, il y a 10 packages snap installés, pas 18. Cependant, ces 10 packages ont donné lieu à la 18 SquashFS systèmes de fichiers. Les colonnes du tableau sont assez explicites, mais voici quelques éclaircissements:

  • Nom: Le nom du snap package qui a été installé.
  • Version: Le numéro de version du logiciel dans le snap paquet.
  • Tour: Le numéro de révision du snap paquet.
  • suivi: La chaîne cette snap moniteurs de paquets pour les mises à jour Ils sont quatre:
    • Stable: Le canal par défaut. Comme son nom l'indique, ce canal contient les packages les plus stables.
    • Candidat: Ce canal est moins stable, mais très proche car il contient un logiciel de version candidate, qui est complet en code. Il passe par les tests finaux avant de passer au canal stable.
    • Bêta: Ce canal présente une qualité de cycle de développement tardif, mais il n'est pas garanti qu'il soit stable.
    • Bord: Pour les premiers testeurs de build. Vous ne devez pas utiliser cette chaîne pour des travaux importants ou sur un ordinateur de production. Voilà des dragons!
  • Éditeur: La personne, l'entreprise ou l'organisation qui a publié le snap paquet. S'il s'agissait d'un éditeur vérifié (et que votre fenêtre de terminal prend en charge Unicode), une coche verte apparaît à côté du nom de l'éditeur. S'il ne peut pas afficher de coche, vous verrez un astérisque (*).
  • Remarques: Tous les commentaires ou informations supplémentaires apparaîtront ici.

Les canaux instantanés

Vous pouvez utiliser le info option pour obtenir une description d'un snap paquet.

Pour ce faire, nous tapons ce qui suit:

snap info gtk-common-themes

Nous pouvons voir quel canal le package suit et la version du logiciel dans le snap paquets dans chacun des quatre canaux. Dans la plupart des cas, vous devez rester sur le canal stable.

UNE snap Le package vérifie quatre fois par jour si une version plus récente du logiciel est disponible sur la chaîne qu'il regarde ou "suit". Si vous souhaitez changer de chaîne a snap des pistes de package, vous pouvez utiliser le refresh et --channel les options.

Pour ce faire, nous tapons ce qui suit:

sudo snap refresh gtk-common-themes --channel=beta

Si une version plus récente du logiciel était disponible, elle serait installée, mais ce n’était pas le cas ici. Cependant, le snap package suit désormais le canal bêta. Dès qu'une nouvelle version bêta est publiée, elle est automatiquement téléchargée et mise à niveau.

Vous pouvez utiliser le --list option pour vérifier si des mises à jour sont disponibles pour snap packages installés sur votre ordinateur.

Pour ce faire, nous tapons ce qui suit:

sudo snap refresh --list

Vous serez informé si l'une des chaînes snap les packages sur votre ordinateur dont le suivi contient des versions de logiciel plus récentes.

Si une version plus récente du logiciel est disponible, vous pouvez utiliser le refresh , comme indiqué ci-dessous, pour forcer manuellement une actualisation:

sudo snap refresh gtk-common-themes

Suppression d'un package d'accrochage

Pour désinstaller un snap package, vous pouvez utiliser l'option de suppression, comme indiqué ci-dessous:

sudo snap remove gimp

La feuille de triche snap

L'utilisation de packages snap est assez simple, mais nous avons compilé une liste de quelques commandes qui vous aideront:

  • Pour rechercher un package: snap find package_name
  • Pour installer un package: sudo snap install package_name
  • Pour voir tous les packages installés: snap list
  • Pour obtenir des informations sur un seul package: snap info package_name
  • Pour changer de chaîne, un package suit les mises à jour: sudo snap refresh package_name --channel=channel_name
  • Pour voir si les mises à jour sont prêtes pour tous les packages installés: sudo snap refresh --list
  • Pour mettre à jour manuellement un package: sudo snap refresh package_name
  • Pour désinstaller un package: sudo snap remove package_name

★★★★★