GNU/Linux >> Tutoriels Linux >  >> Fedora

Premiers pas avec Toolbox sur Fedora Silverblue

Dans ce guide, nous expliquerons ce qu'est Toolbox et comment créer et gérer un environnement de développement conteneurisé à l'aide de Toolbox sur Fedora Linux.

Présentation

Au cours des dernières années, la virtualisation des conteneurs Linux a pris beaucoup d'ampleur. En fait, la nouvelle génération de virtualisation est la conteneurisation.

De nos jours, les développeurs d'applications utilisent principalement des conteneurs comme environnement de développement préféré. Il existe de nombreux outils pour créer et gérer des conteneurs Linux. Podman , Docker , Vagabond sont des applications de gestion de conteneurs populaires.

Aujourd'hui, nous allons discuter d'un autre utilitaire appelé Toolbox ce qui facilite l'utilisation d'un environnement conteneurisé pour le développement de logiciels quotidiens.

Qu'est-ce que la boîte à outils ?

Toolbox est un outil interne de Fedora pour créer un environnement de ligne de commande conteneurisé au-dessus de votre système de base Fedora.

Il est particulièrement utile pour configurer un environnement de développement logiciel use and throw dans lequel des outils de développement et des bibliothèques peuvent être installés et utilisés.

Toolbox est spécialement développé pour OSTree systèmes basés tels que Fedora Core OS et Fedora Silverblue . Comme vous le savez peut-être déjà, les systèmes basés sur OSTree sont immuables.

Toolbox est construit sur des images de conteneur OCI et Podman. Il ne nécessite aucune root privilèges pour déployer des conteneurs. La bonne chose est que l'installation et l'utilisation de Toolbox sont très faciles à utiliser et faciles à mémoriser !

Pourquoi Toolbox ?

L'objectif réel d'un système d'exploitation immuable est de décourager l'installation de logiciels sur le système hôte et d'encourager les utilisateurs à installer les logiciels dans des conteneurs.

Contrairement aux systèmes basés sur OSTree, les conteneurs sont entièrement modifiables. Ainsi, vous pouvez installer vos outils de développement et de débogage, éditeurs et SDK préférés à l'intérieur des conteneurs. Rien n'est installé sur le système hôte.

Pour le dire en termes simples, nous pouvons déployer un conteneur mutable sur un système d'exploitation hôte immuable à l'aide de Toolbox.

Comment fonctionne la boîte à outils ?

Par défaut, Toolbox crée les conteneurs en fonction de votre système actuel. Par exemple, si votre système de base est Fedora 35, alors la boîte à outils créera un conteneur basé sur Fedora 35. Dans ce conteneur, vous pouvez utiliser des gestionnaires de paquets comme yum ou dnf pour installer vos applications préférées. Vous pouvez également créer des conteneurs basés sur d'autres versions de Fedora.

Vous pouvez démarrer plusieurs conteneurs à la fois et commencer à travailler sur différents projets simultanément. Une fois que vous avez terminé avec le conteneur, supprimez-le simplement et créez-en un nouveau quand vous le souhaitez. Encore une fois, le système hôte n'est en aucun cas affecté. De cette façon, nous pouvons maintenir un système d'exploitation hôte propre. Cela évitera également considérablement l'encombrement et réduira le processus de réinstallation du système d'exploitation hôte.

Installer Toolbox sur Fedora

Toolbox est préinstallé avec Fedora Silverblue 30 et les éditions plus récentes. Sur le poste de travail Fedora, vous pouvez l'installer en utilisant dnf ou yum gestionnaires de paquets :

$ sudo dnf install toolbox 

Ou,

$ sudo yum install toolbox 

Démarrer avec Toolbox sur Fedora Silverblue

Toolbox fournit un petit nombre de commandes pour créer, répertorier, saisir et supprimer des conteneurs.

1. Afficher l'aide de la boîte à outils

Si vous débutez avec Toolbox, il est préférable d'afficher la section d'aide de Toolbox pour avoir un aperçu de ce que fait chaque commande. Pour afficher l'aide de Toolbox, utilisez l'une des commandes suivantes :

$ toolbox --help 
$ toolbox help 
$ toolbox -h 

Commençons maintenant par créer de nouveaux conteneurs.

2. Créer un nouveau conteneur

Pour créer un nouveau conteneur basé sur votre version actuelle de Fedora OS, exécutez simplement :

$ toolbox create 

Cette commande recherchera l'image de base à utiliser pour créer le conteneur à partir de votre système local. Si aucune image locale n'est trouvée, vous serez invité à télécharger l'image correspondante. Tapez o et la touche ENTER pour télécharger l'image.

Exemple de résultat :

Image required to create toolbox container.
Download registry.fedoraproject.org/fedora-toolbox:33 (500MB)? [y/N]: y
Created container: fedora-toolbox-33
Enter with: toolbox enter
 

Toolbox téléchargera une image correspondant à la version du système d'exploitation de votre système hôte actuel à partir du registre Fedora et créera un nouveau conteneur basé sur l'image téléchargée. Les images sont généralement des versions simplifiées des distributions réelles.

2.1. Créer des conteneurs avec un nom personnalisé

La boîte à outils attribuera automatiquement un nom unique (par exemple, fedora-toolbox-33 ) au conteneur nouvellement créé.

Si vous souhaitez créer un conteneur avec un nom personnalisé de votre choix, utilisez le --container , -c drapeau suivi du nom du conteneur comme ci-dessous :

$ toolbox create --container mytoolbox-f33 

Ou brièvement :

$ toolbox create -c mytoolbox-f33 

Ici, mytoolbox-f33 est le nom du conteneur.

3. Créer un nouveau conteneur basé sur une version spécifique du système d'exploitation

Comme je l'ai déjà mentionné, Toolbox crée des conteneurs basés sur la version actuelle du système d'exploitation. Par exemple, si vous exécutez Fedora 34, Toolbox créera un conteneur basé sur l'image Fedora 34.

Cependant, vous pouvez également créer des conteneurs basés sur d'autres versions. J'ai créé un conteneur Fedora 32 sur mon édition Silverblue Fedora 33 à l'aide de la commande suivante :

$ toolbox create --release f32 

Ou bientôt,

$ toolbox create -r f32 

4. Lister les conteneurs

Pour répertorier tous les conteneurs disponibles localement sur votre système, exécutez :

$ toolbox list 

Exemple de résultat :

IMAGE ID      IMAGE NAME                                        CREATED
9659c2039e64  registry.fedoraproject.org/f32/fedora-toolbox:32  4 months ago
675192cc4238  registry.fedoraproject.org/fedora-toolbox:33      4 weeks ago

CONTAINER ID  CONTAINER NAME     CREATED         STATUS      IMAGE NAME
2cfb48d6a6c5  fedora-toolbox-32  4 months ago    exited      registry.fedoraproject.org/f32/fedora-toolbox:32
1f709997b871  fedora-toolbox-33  27 minutes ago  configured  registry.fedoraproject.org/fedora-toolbox:33
 

Comme vous pouvez le voir dans la sortie ci-dessus, j'ai deux conteneurs à savoir fedora-toolbox-32 et fedora-toolbox-33 sur mon système.

La section supérieure de la sortie affiche les détails des images de base utilisées pour créer les conteneurs, tels que l'ID de l'image, le nom de l'image et la date de création de ces images. En bas, vous verrez les détails des conteneurs tels que l'ID du conteneur, le nom du conteneur, la date de création du conteneur et l'état du conteneur.

Vous pouvez également afficher les détails du conteneur ou les détails de l'image séparément. Pour répertorier uniquement les détails du conteneur, utilisez --containers , -c choix :

$ toolbox list --containers CONTAINER ID CONTAINER NAME CREATED STATUS IMAGE NAME 2cfb48d6a6c5 fedora-toolbox-32 il y a 4 mois en cours d'exécution registre.fedoraproject.org/fedora-toolbox:33

Pour lister uniquement les images, utilisez --images , -i drapeau :

$ toolbox list --images ID D'IMAGE NOM DE L'IMAGE CRÉÉE 9659c2039e64 Registry.fedoraproject.org/f32/fedora-toolbox:32 Il y a 4 mois 

Veuillez noter que le nom des conteneurs et les noms des images se ressembleront presque à l'exception de la dernière partie de leur nom.

Le nom du conteneur comporte généralement un trait d'union (-) avant la dernière partie de son nom (par exemple, fedora-toolbox-33 ) et le nom de l'image contient des deux-points (:) (par exemple, fedora-toolbox:33 ).

5. Entrez dans les conteneurs

Nous avons déjà créé les conteneurs mais nous ne les avons pas entrés. Entrons donc dans un conteneur en utilisant la commande :

$ toolbox enter 

Une fois que vous êtes entré dans le conteneur, l'invite du shell est précédée d'un losange symbole comme indiqué dans la sortie suivante :

⬢[[email protected] ~]$  

Avez-vous remarqué le symbole du diamant à l'extrême gauche de l'invite ? Cela signifie que vous êtes à l'intérieur du conteneur.

Les conteneurs s'intègrent parfaitement à votre système d'exploitation actuel. À l'intérieur de chaque conteneur, vous trouverez votre nom d'utilisateur et vos autorisations existants.

Vous pouvez accéder à votre répertoire personnel et à plusieurs autres emplacements comme vous le feriez depuis votre système hôte. Vous pouvez également accéder à la fois au système et à la session D-Bus, au journal système et à Kerberos, etc.

Chaque conteneur contient des outils de lignes de commande communs, y compris un gestionnaire de packages (par exemple, DNF sur Fedora). Ainsi, vous pouvez installer et tester n'importe quel logiciel à l'intérieur du conteneur.

Par exemple, la commande suivante installe tous les outils de développement nécessaires :

$ sudo yum groupinstall "Development Tools" 

5.1. Entrez dans un conteneur spécifique

Lorsque vous exécutez la toolbox enter commande sans aucune option, elle ouvre le conteneur de la boîte à outils par défaut. Le conteneur par défaut est celui qui est basé sur le système d'exploitation de votre hôte.

Si vous souhaitez ouvrir un conteneur différent, mentionnez explicitement son nom comme ci-dessous :

$ toolbox enter -c fedora-toolbox-32 

Ici, -c est utilisé pour référencer le nom du conteneur et fedora-toolbox-32 est le nom du conteneur.

6. Quitter la boîte à outils

Une fois que vous avez terminé avec le conteneur, tapez simplement exit pour vous déconnecter du conteneur.

$ exit 

7. Exécutez des commandes dans des conteneurs sans y entrer

Une caractéristique notable de Toolbox est que vous pouvez exécuter des commandes sur un conteneur sans y entrer. La commande suivante affiche la version de distribution du conteneur par défaut à partir du système hôte :

$ toolbox run cat /etc/redhat-release
Fedora release 33 (Thirty Three) 

Lorsque vous exécutez l'toolbox run commande sans aucune option, il exécutera les commandes sur le conteneur par défaut. Vous pouvez également exécuter des commandes sur d'autres conteneurs en spécifiant son nom avec --container , -c drapeau :

$ toolbox run -c fedora-toolbox-32 cat /etc/redhat-release
Fedora release 32 (Thirty Two)
 

8. Arrêtez d'exécuter des conteneurs

Après avoir quitté le conteneur, il continuera à fonctionner jusqu'à ce que vous l'arrêtiez. Il n'y a pas de commande directe de boîte à outils pour arrêter un conteneur en cours d'exécution. Cependant, nous pouvons utiliser podman commande pour arrêter les conteneurs de la boîte à outils :

$ podman container stop fedora-toolbox-33
 

N'oubliez pas que Toolbox utilise podman sous le capot.

9. Supprimer les conteneurs et les images de la boîte à outils

Si vous ne voulez pas de conteneur ou de son image de base, vous pouvez simplement vous en débarrasser comme ci-dessous.

Avant de supprimer un conteneur, assurez-vous d'en être sorti.

Pour supprimer un conteneur, exécutez :

$ toolbox rm fedora-toolbox-32 

La commande ci-dessus supprime le conteneur nommé fedora-toolbox-32 .

Pour supprimer de force un conteneur même s'il est en cours d'exécution, utilisez --force , -f drapeau :

$ toolbox rm -f fedora-toolbox-32 

Pour supprimer tous les conteneurs, utilisez --all , -a drapeau :

$ toolbox rm --all 

Vérifiez si le conteneur est supprimé en répertoriant les conteneurs disponibles :

$ toolbox list 

De même, vous pouvez supprimer les images de la boîte à outils à l'aide de toolbox rmi commande comme ci-dessous :

$ toolbox rmi fedora-toolbox:32 

Veuillez noter le i dans la commande ci-dessus. Le rm commande supprime les conteneurs alors que rmi commande supprime les images. N'oubliez pas non plus de mentionner le nom correct de l'image à supprimer.

Pour supprimer toutes les images, utilisez --all , -a drapeau :

$ toolbox rmi --all 

Utilisez podman pour gérer les conteneurs et les images de la boîte à outils

Étant donné que Toolbox n'est que le wrapper de podman, vous pouvez directement utiliser les commandes podman pour gérer les conteneurs.

Pour répertorier les conteneurs de boîtes à outils à l'aide de la commande podman, exécutez :

$ podman ps -a 

Pour répertorier les images de la boîte à outils avec podman, exécutez :

$ podman images
 

Pour démarrer un conteneur :

$ podman start fedora-toolbox-33 

Pour afficher les statistiques d'utilisation des ressources en direct de tous les conteneurs en cours d'exécution :

$ podman stats 

Pour arrêter un conteneur :

$ podman stop fedora-toolbox-33 

Inspecter les conteneurs :

$ podman inspect fedora-toolbox-33 

Supprimer le conteneur :

$ podman rm <container-name> 

Supprimer l'image :

$ podman rmi <image-name> 

De nombreuses commandes podman sont disponibles. Vous pouvez afficher toutes les commandes et options générales disponibles dans la section d'aide de podman :

$ podman --help 

Conclusion

Les conteneurs ne sont pas seulement à des fins expérimentales et d'apprentissage, ils sont également idéaux pour un environnement de développement isolé où vous pouvez travailler sur différents projets sur différentes versions de système d'exploitation. Toolbox rend la gestion des conteneurs beaucoup plus facile et meilleure !


Fedora
  1. Premiers pas avec Zsh

  2. Démarrer avec ls

  3. Premiers pas avec Samba pour l'interopérabilité

  4. Premiers pas avec PostgreSQL sous Linux

  5. Comment démarrer avec Juju?

Premiers pas avec le gestionnaire de paquets Nix

Premiers pas avec Docker Compose sous Linux

Premiers pas avec systemctl

Premiers pas avec cPanel

Premiers pas avec SiteApps

Premiers pas avec cPanel/WHM