GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et utiliser Snapcraft sous Linux

Si vous cherchez une meilleure façon de gérer les logiciels dans votre système Linux, vous voudrez peut-être consulter Snapcraft. Avec Snapcraft, vous pouvez rechercher, installer et gérer des logiciels en quelques clics tout en trouvant, partageant et créant de nouveaux clichés avec la communauté.

Dans ce didacticiel, vous apprendrez à installer Snapcraft, à créer un composant logiciel enfichable de base et à l'installer sur votre système Linux.

Prêt? Restez à l'écoute et découvrez comment Snapcraft peut faciliter la gestion de vos logiciels !

Prérequis

Ce didacticiel sera une démonstration pratique et vous aurez besoin d'un système Linux pour suivre. Ce didacticiel utilise Ubuntu 20.04, mais tous les dérivés fonctionneront.

Installer Snapd (Snap Daemon) et Snapcraft

Avant de créer ou même d'exécuter des snaps, vous devez d'abord installer Snapd, un démon requis pour exécuter des snaps. Snapd vous permet également d'installer et d'activer Snapcraft sur votre système.

Pour installer Snapd sur Ubuntu :

1. Exécutez le suivantg apt update commande pour mettre à jour vos référentiels Ubuntu.

apt update -y

2. Ensuite, exécutez le apt install ci-dessous commande pour installer Snapd.

apt install snapd -y

3. Une fois installé, exécutez le snap commande ci-dessous pour vérifier la version de Snapd installée sur votre système.

snap --version

4. Enfin, exécutez le snap install commande ci-dessous pour installer snapcraft .

Snapcraft est un outil puissant qui vous permet de créer des instantanés pour diverses applications. Il vous suffit de déclarer les dépendances pour votre composant logiciel enfichable, et Snapcraft fera le reste.

snap install --classic snapcraft

Ci-dessous, vous pouvez voir la sortie confirmant que Snapcraft a été installé avec succès.

Initialiser un projet Snap avec Snapcraft

Maintenant que Snapcraft est installé, vous êtes prêt à créer des snaps. Un composant logiciel enfichable est un package d'application autonome qui inclut toutes les dépendances et bibliothèques nécessaires pour exécuter une application. En un clin d'œil (jeu de mots), vous pouvez rapidement installer et gérer des applications sous Linux.

Les snaps sont également sécurisés et isolés du reste de votre système, ce qui permet de protéger votre système contre les logiciels malveillants. Vous pouvez même télécharger vos snaps sur le Snap Store pour que d'autres les utilisent, ou vous pouvez télécharger des snaps depuis le Snap Store pour les utiliser sur votre système.

Pour voir comment Snapcraft fonctionne en action, vous allez créer un simple composant logiciel enfichable pour une application "hello world". Mais d'abord, vous avez besoin d'un répertoire de projet pour initialiser un projet Snapcraft :

1. Exécutez les commandes suivantes pour créer un répertoire (mkdir ) pour votre composant logiciel enfichable et déplacez-vous dans ce répertoire (cd ). Ce répertoire contiendra tous les fichiers liés à votre composant logiciel enfichable, où vous exécuterez également toutes les commandes suivantes.

Vous devez omettre les espaces dans les noms de vos répertoires lorsque vous travaillez avec Snapcraft pour éviter des problèmes, tels que des échecs de construction.

# Create a project directory
mkdir -p ~/mysnaps/hello
# Change the working directory
cd ~/mysnaps/hello

2. Maintenant, exécutez le snapcraft commande ci-dessous pour initialiser (init ) votre projet Snapcraft.

Cette commande crée un snapcraft.yaml et d'autres fichiers d'environnement dans le répertoire courant. Ce fichier est utilisé pour déclarer les dépendances et les différents paramètres de votre composant logiciel enfichable.

snapcraft init

3. Enfin, exécutez le tree ci-dessous commande pour vérifier votre répertoire snap. tree -a

tree -a

À ce stade, vous devriez avoir une structure de répertoires qui ressemble à celle ci-dessous. Cette structure est connue sous le nom d'arbre instantané.

Configuration et création d'un Snap

Après avoir initialisé votre projet Snapcraft, vous êtes presque prêt à créer votre snap avec Snapcraft. Mais d'abord, vous devez déclarer des métadonnées pour votre composant logiciel enfichable. Ces métadonnées incluent le nom, la version, le résumé et la description de votre snap. Et vous pouvez également spécifier la licence pour votre niveau de capture et de confinement.

Comment? En éditant le snapcraft.yaml généré automatiquement fichier lorsque vous avez initialisé votre projet.

1. Ouvrez le fichier snapcraft.yaml fichier dans votre éditeur de texte préféré.

nano snap/snapcraft.yaml

2. Ensuite, remplacez le contenu pré-généré du fichier par les lignes suivantes pour déclarer les métadonnées de votre snap.

Mais ne fermez pas encore le fichier car vous ajouterez des parties de la configuration une par une pour mieux comprendre comment le composant logiciel enfichable est configuré.

# Your snap's name (must be in lowercase) and can contain letters, numbers, and hyphens.
name: hello
# The base snap that your snap will be built on top of. 
# core18 base is based on Ubuntu 18.04 (Bionic Beaver).
base: core18
# The current snap's version (incremental)
version: '2.10'
# One-line snap description
summary: GNU Hello, the "hello world" snap
# Long snap description. It can span multiple lines and can contain Markdown formatting.
description: |

 GNU hello prints a friendly greeting.

# Sets the snap's security grade (devel). 
# devel grade - used for development snaps that are not for general release. 
# stable grade - used for snaps considered ready for production use. 
# candidate grade - used for snaps ready for final testing (before stable grade).
grade: devel
# Sets the snap's confinement level (devmode)
# devmode - the least secure level where snap has full access to the host system.
# strict - the most secure level where snap has limited access to the host system.
# classic - somewhere in between where snap has limited access to the host system 
          # with some security features disabled.
confinement: devmode

3. Ajoutez le code suivant sous le confinement ligne pour exposer une application.

Ce code indique à Snapcraft que votre snap contient une application appelée hello qui peut être exécuté avec le bin/hello commande.

apps:

 hello:

  command: bin/hello

4. Maintenant, ajoutez le code suivant à la fin de snapcraft.yaml fichier qui ajoute une partie à votre composant logiciel enfichable. Une partie décrit les composants de votre composant logiciel enfichable, comment ils doivent être construits et où ils peuvent être trouvés.

Ce code ajoute une partie appelée gnu-hello , basé sur le package hello officiel d'Ubuntu 18.04.

Notez que votre composant logiciel enfichable peut contenir plusieurs parties, mais vous n'en aurez besoin que d'une seule dans ce didacticiel.

parts:
  gnu-hello:
    source: http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz
    plugin: autotools

À ce stade, vous devriez avoir un snapcraft.yaml fichier qui ressemble à celui ci-dessous. Enregistrez les modifications et fermez le fichier.

# Your snap's name (must be in lowercase) and can contain letters, numbers, and hyphens.
name: hello
# The base snap that your snap will be built on top of. 
# core18 base, which is based on Ubuntu 18.04 (Bionic Beaver).
base: core18
# The current snap's version (incremental)
version: '2.10'
# One-line snap description
summary: GNU Hello, the "hello world" snap
# Long snap description. It can span multiple lines and can contain Markdown formatting.
description: |

 GNU hello prints a friendly greeting.

# Sets the snap's security grade (devel). 
# devel grade - used for development snaps that are not for general release. 
# stable grade - used for snaps considered ready for production use. 
# candidate grade - used for snaps ready for final testing (before stable grade).
grade: devel
# Sets the snap's confinement level (devmode)
# devmode - the least secure level where snap has full access to the host system.
# strict - the most secure level where snap has limited access to the host system.
# classic - somewhere in between where snap has limited access to the host system 
          # with some security features disabled.
confinement: devmode

# Expose an application called "hello" that can be run with the bin/hello command.
apps:

 hello:

  command: bin/hello

# Adding parts to describe the components of your snap, 
  # how they should be built and where they can be found.
parts:
  gnu-hello:
    source: http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz
    plugin: autotools

5. Enfin, exécutez le snapcraft ci-dessous commande après tout le travail acharné pour créer votre premier composant logiciel enfichable.

snapcraft

La première fois que vous exécutez le snapcraft commande, vous serez invité à installer Multipass, comme indiqué ci-dessous. Multipass gère les machines virtuelles pour créer des snaps, et Snapcraft utilise des machines virtuelles pour créer des snaps dans un environnement propre et isolé.

Tapez y et appuyez sur Entrée continuer.

Le processus de construction télécharge toutes les dépendances et les construit à partir de la source, ce qui prend un certain temps. Une fois construit, vous verrez une sortie similaire à celle ci-dessous.

Comme vous pouvez le voir, hello_2.10_amd64.snap est le package qui a été créé, qui est votre package snap et peut maintenant être installé sur n'importe quelle distribution Linux prenant en charge les snaps.

Tester votre Snap

Vous avez réussi à créer votre composant logiciel enfichable, mais comment savez-vous qu'il fonctionne ? Testez votre composant logiciel enfichable nouvellement créé en l'installant sur votre système et en exécutant votre application "hello world".

1. Exécutez le snap suivant commande à install votre package snap nouvellement créé (hello_2.10_amd64.snap ) sur votre système.

snap install --devmode hello_2.10_amd64.snap

2. Ensuite, exécutez le hello commande ci-dessous, que vous avez déclarée dans le snapcraft.yaml fichier pour exécuter le hello app incluse dans votre snap.

hello

Si tout a fonctionné comme prévu, vous devriez voir le message "Hello, world!" message imprimé à l'écran comme indiqué.

3. Enfin, exécutez le snap list commande ci-dessous pour obtenir le composant logiciel enfichable installé (hello ) informations.

snap list hello

Conclusion

La gestion des logiciels peut être un travail fastidieux à moins que vous n'ayez un outil fiable à votre disposition. Et dans ce didacticiel, vous avez appris à installer et à utiliser Snapcraft pour créer un simple composant logiciel enfichable pour gérer et installer des logiciels sur votre système Linux sans tracas.

Après avoir vu comment fonctionne Snapcraft, pourquoi ne pas commencer à créer des snaps plus complexes et les télécharger sur le Snap Store pour que d'autres puissent les installer et les utiliser ?


Linux
  1. Comment installer et utiliser telnet sur Kali Linux

  2. Comment installer et utiliser Linux Screen ?

  3. Comment installer et utiliser Snap Package Manager sur Alma Linux 8

  4. Comment installer et utiliser Flatpak sous Linux

  5. Comment installer et utiliser Traceroute sous Linux

Comment installer et utiliser Thunderbird sous Linux

Comment installer et utiliser Git dans le système Linux

Comment installer et utiliser la commande Ping sous Linux

Comment installer et utiliser Telnet sur les systèmes Linux

Comment installer et utiliser la commande fd sous Linux

Comment installer et utiliser Nu Shell sous Linux