Recherche de site Web

Comment intégrer n’importe quelle distribution Linux dans un terminal avec Distrobox


Distrobox est un outil gratuit et open source qui nous permet d’intégrer les espaces utilisateurs des distributions Linux. Sous le capot, il utilise Docker ou Podman pour créer des conteneurs, et les intègre à l’hôte en partageant l’accès au serveur graphique, au répertoire HOME de l’utilisateur et aux périphériques USB. Dans ce tutoriel, nous voyons comment installer et utiliser Distrobox sur les distributions Linux les plus utilisées.

Dans ce tutoriel, vous allez apprendre :

  • Comment installer Distrobox sur les distributions Linux les plus utilisées
  • Comment intégrer une distribution à l’aide de Distrobox
  • Comment entrer et utiliser un conteneur Distrobox
  • Comment exporter des applications à partir d’un conteneur
  • Comment répertorier, arrêter et supprimer des conteneurs existants

Introduction

Distrobox fonctionne de la même manière que toolbox, mais il est compatible avec un plus large éventail de distributions (vous pouvez trouver la liste réelle sur GitHub), et peut utiliser à la fois Podman et Docker sous le capot, tandis que toolbox ne prend en charge que le premier. Distrobox vise à réaliser une intégration transparente des conteneurs avec le système hôte : la pile graphique, le répertoire HOME de l’utilisateur et les périphériques de stockage USB sont en effet partagés, par défaut, avec les conteneurs. Pour cette raison, si l’isolation et la sécurité sont des objectifs principaux, Distrobox n’est pas l’outil approprié.

Installation

Toutes les distributions Linux les plus utilisées incluent Distrobox dans leurs dépôts officiels, donc l’installer n’est qu’une question d’utilisation du gestionnaire de paquets approprié. Voici les commandes exactes que nous voulons utiliser :

Commencer

La façon la plus simple de créer et d’intégrer une distribution avec Distrobox, est d’utiliser la commande create sans aucune option ni argument :

distrobox create

Lorsqu’il est appelé de cette façon, Distrobox crée un conteneur en utilisant l’image par défaut, qui est spécifiée via la variable container_image_default dans le fichier de configuration de Distrobox ; Ceci, la plupart du temps, équivaut à la distribution de l’hôte. Pour utiliser une distribution spécifique (et éventuellement une version finale) comme cible, nous passons son nom en argument à l’option -i (abréviation de --image). Pour créer un conteneur basé sur Archlinux, par exemple, nous exécuterions :

distrobox create -i archlinux

Si l’image de la distribution cible n’existe pas localement, Distrobox nous demandera si nous voulons la télécharger :

Image archlinux not found.
Do you want to pull the image now? [Y/n]: y

Pour éviter les invites interactives comme celle ci-dessus, nous pouvons ajouter l’option -Y (--yes) à la commande. Une fois le téléchargement terminé, Distrobox créera un conteneur basé sur l’image, en le nommant, par défaut, d’après la distribution elle-même (nous pouvons spécifier un nom alternatif avec l’option -n).

Lors de la création d’un conteneur, nous avons la possibilité de spécifier une liste de paquets supplémentaires qui doivent être installés, en utilisant l’option --additional-packages. Dans l’exemple ci-dessous, nous créons un conteneur basé sur Archlinux, et spécifions que nous voulons installer les paquets git et vim :

distrobox create -i archlinux --additional-packages "vim git"

Spécification d’un HOME alternatif pour le conteneur

Comme nous l’avons déjà dit, les conteneurs créés avec Distrobox, partagent le répertoire HOME avec l’utilisateur qui lance les commandes Distrobox. Cela signifie qu’un programme s’exécutant à l’intérieur du conteneur peut l’encombrer avec ses propres fichiers de configuration. Pour éviter cela, nous pouvons spécifier un HOME alternatif pour le conteneur, en utilisant l’option -H (--home). En voici un exemple :

distrobox create -i archlinux -H ~/container-home

Le répertoire cible sera automatiquement créé s’il n’existe pas.

Entrée dans le conteneur

Une fois qu’un conteneur est prêt, pour commencer à l’utiliser, nous utilisons la commande enter, en passant son nom en argument. Pour entrer dans un conteneur nommé « archlinux », nous exécuterions :

distrobox enter archlinux

La première fois que nous entrons dans un conteneur, Distrobox effectue quelques opérations préliminaires. Une fois la configuration du conteneur terminée, l’invite du shell changera, pour refléter le fait que nous travaillons dans l’environnement de conteneur :

📦[doc@archlinux ~]$

Nous pouvons maintenant exécuter des commandes comme si nous utilisions le système en natif. Comme dans ce cas la distribution cible est Archlinux, pour synchroniser les dépôts, nous exécuterions :

📦[doc@archlinux ~]$ sudo pacman -Sy

Étant donné que le conteneur a accès à la pile graphique du système hôte, nous pouvons y installer et utiliser à la fois des applications graphiques et de ligne de commande. Pour installer « code » (la version open source de l’éditeur VScode), par exemple, il faut exécuter :

📦[doc@debian-bullseye ~]$ sudo pacman -S code

Une fois l’application installée, nous pouvons la lancer depuis la ligne de commande :

📦[doc@archlinux ~]$ code

Au lieu de saisir manuellement le conteneur chaque fois que nous voulons exécuter une commande à l’intérieur de celui-ci, nous pouvons utiliser le raccourci suivant :

distrobox enter archlinux -- code

Exportation d’une application

Dans l’exemple précédent, nous avons vu à quel point il est facile d’installer et de lancer une application à l’intérieur d’un conteneur créé avec Distrobox. Pour mieux intégrer une application dans le système hôte, on peut cependant « exporter » celle-ci.

Dans l’exemple précédent, nous avons installé l’éditeur « code », mais nous avons été obligés de l’exécuter à partir de la ligne de commande, car le lanceur de bureau n’apparaissait pas dans le menu « applications » du système hôte. Pour résoudre ce problème, nous pouvons « exporter » l’application avec la commande distrobox-export, qui doit être exécutée à l’intérieur du conteneur.

Pour exporter l’éditeur de « code », nous exécuterions :

distrobox enter archlinux -- distrobox-export --app code

Après quelques secondes, nous devrions trouver le lanceur d’applications dans le menu de l’hôte :

Pour annuler l’exportation d’une application, nous ajoutons l’option --delete à la commande distrobox-export. Pour supprimer le lanceur « code » du système hôte, nous exécuterions :

distrobox enter archlinux -- distrobox-export --app code --delete

Gestion des conteneurs distrobox

Pour lister les conteneurs créés avec Distrobox, nous pouvons utiliser la commande list :

distrobox list

Dans ce cas, comme prévu, il n’existe qu’un seul conteneur :

ID           | NAME      | STATUS        | IMAGE 
1989f0686c1f | archlinux | Up 29 minutes | docker.io/library/archlinux:latest

Comme nous pouvons le voir sur la sortie de la commande, le conteneur est actuellement en cours d’exécution. Afin de l’arrêter, nous utilisons la commande stop :

distrobox stop archlinux

Enfin, pour retirer le conteneur, on utilise la commande rm :

distrobox rm archlinux

Conclusions

Distrobox est une application gratuite et open source qui nous permet d’intégrer un système hôte avec l’espace utilisateur des distributions Linux prises en charge, en utilisant des conteneurs et en s’appuyant sur Docker ou Podman sous le capot. Dans ce tutoriel, nous avons vu comment installer Distrobox sur certaines des distributions Linux les plus utilisées, comment créer et entrer des conteneurs, et comment exécuter des commandes à l’intérieur de ceux-ci. Nous avons également vu comment exporter des applications de conteneurs vers le système hôte, et, enfin, comment répertorier, arrêter et supprimer des conteneurs créés avec Distrobox.

Articles connexes: