Qu’est-ce que BusyBox et où est-il utilisé ?

BusyBox est une collection d’utilitaires Unix de base conditionnés en un seul binaire. Cela le rend idéal pour les environnements à ressources limitées tels que les appareils embarqués. La distribution complète contient près de 400 des commandes les plus courantes.

BusyBox est open-source et sous licence GPL. Il a été créé en 1995 avec l’intention de faire tenir un système amorçable sur une seule disquette . Le regroupement de commandes dans un seul binaire réduit les frais généraux et permet le partage de code entre des applications apparemment indépendantes.

Que comprend BusyBox ?

BusyBox fournit les commandes de commodité quotidiennes qui donnent souvent l’impression de faire partie de votre shell. Bien que les outils de l’espace utilisateur aiment lset catsoient omniprésents, ils résident en fait dans un package utilitaire séparé qui est indépendant de votre shell. De nombreuses distributions Linux fournissent ces commandes via GNU, coreutils mais d’autres envoient à la place BusyBox.

Le projet fonctionne en liant symboliquement les noms de commandes familiers /usr/binau binaire BusyBox. Cet exécutable invoque alors la fonction correspondant au nom passé en premier argument.

  • Avec BusyBox, la commande mkdirs’exécute/usr/bin/busybox mkdir
  • Avec GNU Coreutils – la commande mkdirs’exécute /usr/bin/mkdir.

Vous pouvez utiliser de manière transparente des commandes telles que mkdirpasswdpstar, et wgetune fois BusyBox installé. Les commandes sont implémentées sous forme d’« applets » qui sont combinées dans une distribution BusyBox fonctionnelle. L’ensemble complet pèse environ 1 Mo. Les applets sont amovibles, ce qui permet de réduire encore plus la taille binaire. Vous pouvez vérifier ce qui est disponible dans votre installation en exécutant busyboxsans argument.PUBLICITÉ

READ  Tutoriel pour installer Manjaro Linux

Comme BusyBox a été créé pour alimenter de minuscules systèmes amorçables, il couvre tout ce dont l’utilisateur a besoin pour démarrer et administrer un système POSIX. Cela s’étend à une initimplémentation minimale capable de s’exécuter en tant qu’ID de processus 1et de prendre en charge les services système. Vous pouvez adopter BusyBox comme une alternative légère à un classique initou un systemddémon.

Comme BusyBox est intentionnellement minimal, toutes les commandes n’implémentent pas toutes les fonctionnalités de son homologue GNU. Vous pourriez trouver des indicateurs manquants ou des différences de comportement dans des situations peu courantes. C’est l’un des compromis de la nature rationalisée de BusyBox.

Où est utilisé BusyBox ?

BusyBox peut être trouvé partout où l’utilisation du disque est un problème. Il est utilisé par des systèmes d’exploitation minimaux tels qu’Alpine ainsi que par des scénarios spécialisés tels que des appareils intégrés et des shells mobiles .

Il y a de fortes chances qu’un périphérique dérivé d’Unix qui n’exécute pas une distribution de système d’exploitation conventionnelle utilise BusyBox. Vous le trouverez sur votre routeur réseau, votre téléviseur intelligent, votre voiture moderne et vos appareils IoT. Chacun de ces paramètres se caractérise par la nécessité d’exécuter des outils de base de l’espace utilisateur dans un environnement fortement limité en ressources.

L’expédition d’un seul binaire tout-en-un est plus efficace. Il réduit la redondance en permettant à toutes les commandes de partager un code commun sans stocker de bibliothèques autonomes sur disque. Comme BusyBox offre une bonne compatibilité avec d’autres implémentations et est sous licence GPL, c’est généralement l’option de prédilection pour les environnements nécessitant un ensemble léger d’utilitaires.

READ  Meilleures distributions Linux légères pour les ordinateurs plus anciens

Les fournisseurs d’appareils embarqués bénéficient également de la nature modulaire de BusyBox. Un produit IoT peut n’avoir besoin que d’une poignée d’utilitaires critiques pour fournir ses fonctionnalités. La distribution d’un binaire BusyBox modifié libère quelques Ko supplémentaires d’espace disque, ce qui peut représenter une économie importante.

Comment essayer BusyBox

Vous pouvez installer BusyBox sans remplacer vos utilitaires actuels. Utilisez votre gestionnaire de packages pour ajouter busybox, puis ajoutez la commande que vous avez choisie au busyboxbinaire pour exécuter une applet :

test de mkdir de la boîte occupée

Cela garantit que la version BusyBox de la commande sera utilisée à la place de la version dans le chemin par défaut de votre shell.

Une autre façon d’essayer BusyBox est via son image Docker officielle :

docker run -it --rm busybox

Si Docker est installé, cela vous placera dans l’implémentation du shell de BusyBox. Vous pouvez exécuter une commande spécifique en l’ajoutant après le nom de l’image :

docker run -it --rm busybox mkdir démo

BusyBox dispose également d’un émulateur JavaScript qui vous permet d’essayer les utilitaires de votre navigateur Web.

Sur la plupart des distributions Linux, vous ne pouvez pas complètement remplacer coreutilspar BusyBox. Les commandes et packages spécifiques à la distribution sont souvent câblés pour s’attendre à ce que les coreutilsutilitaires soient disponibles. Votre distribution refusera généralement de désinstaller ce paquet car il pourrait rendre le système inutilisable s’il initest supprimé.PUBLICITÉ

Si vous souhaitez vous fier à BusyBox, il est préférable de commencer par une distribution qui l’utilise, puis de superposer vos autres logiciels. L’ajout de BusyBox à côté, coreutilscomme indiqué ci-dessus, fonctionne bien lorsque vous devez vérifier comment une applet réagira dans un scénario particulier.

READ  Comment installer de nouvelles polices dans Ubuntu 2022

Conclusion

BusyBox est une implémentation légère des utilitaires UNIX de l’utilisateur qui est conditionnée en un seul binaire. Vous pouvez le combiner avec un noyau Linux pour créer un système fonctionnel sans autres dépendances.

BusyBox est optimisé pour les environnements à espace restreint. Cela le rend idéal pour les produits embarqués tels que les appareils IoT. Vous pouvez également trouver BusyBox installé sur des distributions Linux minimales mais générales telles que Alpine Linux.

Que vous utilisiez BusyBox ou GNU Coreutils, vos commandes familières fonctionneront généralement avec l’une ou l’autre implémentation. Tous les problèmes qui surviennent seront généralement dus au fait que BusyBox n’implémente pas un certain drapeau ou option de configuration rare.

Si vous avez aimé cet article, veuillez- vous abonner à notre communauté reddit pour en discuter. Vous pouvez également nous retrouver sur Twitter et Facebook .

5/5 - (1 vote)

Mises à jour de la newsletter

Saisissez votre adresse e-mail ci-dessous pour vous abonner à notre newsletter

Laisser un commentaire