GNU/Linux >> Tutoriels Linux >  >> Linux

BusyBox :le couteau suisse du Linux embarqué

Busybox est décrit sur sa page de manuel comme le couteau suisse du Linux embarqué. Il combine de petites versions d'utilitaires UNIX courants en un seul petit exécutable. Il fournit environ 400 implémentations de commandes Linux telles que more, less, head, tail, grep, awk, sed, dpkg, toutes compilées en un seul binaire.

Cet exécutable est de petite taille (inférieur à 1 Mo) et donc utile dans les situations où nous sommes limités en termes d'espace disque, par exemple en exécutant un système d'exploitation temporaire complet sur un disque RAM, des systèmes embarqués, des appareils mobiles, etc.

Boîte occupée regarde le nom par lequel il est appelé et agira selon le programme souhaité, par exemple si nous appelons busybox via un lien symbolique ls , il effectuera une action ressemblant à la commande ls de la même manière si nous l'appelons via le mkdir lien symbolique, il effectue des actions similaires à mkdir .

Installer BusyBox sous Linux

Sous Linux , vous pouvez installer BusyBox en utilisant votre gestionnaire de paquets par défaut comme indiqué.

$ sudo apt install busybox         [On Debian, Ubuntu and Mint]
$ sudo yum install busybox         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/busybox  [On Gentoo Linux]
$ sudo pacman -S busybox           [On Arch Linux]
$ sudo zypper install busybox      [On OpenSUSE]  
$ sudo apk add busybox             [On  Alpine] 
$ docker run cmd.cat/busybox busybox  [On Docker]  

Si votre distribution Linux actuelle n'est pas mentionnée ici, vous pouvez consulter le lien dans la section des références pour savoir comment l'installer.

Comment utiliser BusyBox sous Linux

Pour commencer, exécutez la commande busybox sans options ni drapeaux.

# busybox

La sortie est une liste de toutes les commandes prises en charge par la busybox ainsi que d'autres options utiles.

Pour afficher les commandes exactes, nous pouvons les lister comme suit :

# busybox --list

Pour afficher la taille de fichier du binaire nous écrivons.

# cd /usr/sbin/ && du -h busybox  

Une image beaucoup plus claire est obtenue lorsque nous comparons les options d'une commande du shell Linux et du shell busybox.

# grep --help          [Shell]
# busybox grep --help  [Busybox]

Comme vous pouvez le voir sur la sortie des deux exécutions, certaines des options du shell Linux ne sont pas disponibles dans la sortie de busybox. Dans la plupart des cas, nous constaterons que les options busybox sont tout ce dont nous avons besoin pour effectuer des tâches spécifiques dans des applications courantes telles que les appareils IoT.

Pour pouvoir utiliser busybox commandes, nous écrivons les commandes précédées du mot clé busybox, par exemple, pour rechercher une chaîne à l'aide de la commande grep que nous écrivons.

# busybox grep "SearchString" file.txt

La commande ci-dessus fonctionne de la même manière que celle d'un shell Linux.

Alternativement, nous pouvons également accéder au shell busybox et éviter d'utiliser le mot-clé busybox chaque fois que nous devons exécuter des commandes comme suit.

# busybox sh

Dans le shell, nous pouvons exécuter des commandes normalement comme si nous étions dans un shell Linux.

# grep "SearchString" file.txt 

Pour quitter le shell, écrivez.

# exit

Boîte occupée est écrit avec des considérations pour les ressources limitées et les optimisations de taille. Sa modularité permet l'inclusion et l'exclusion de commandes/fonctionnalités au moment de la compilation, en ce sens que nous ne pouvons inclure que les composants dont nous avons besoin, ce qui facilite la personnalisation de sa mise en œuvre dans des systèmes tels que mobiles, embarqués, etc.

De manière générale, nous n'avons pas besoin d'une busybox dans nos systèmes Linux puisque nous avons déjà le package complet, comme mentionné, il est utile dans les cas où nous avons une quantité limitée d'espace disque pour travailler.


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Linux vs Unix :Quelle est la différence ?

  3. Comment Linux est arrivé sur le mainframe

  4. Le cycle de vie des tests du noyau Linux

  5. Maîtrisez la commande Linux ls

Qu'est-ce que le Shell sous Linux ?

Maîtrisez la ligne de commande Linux

L'année de l'insatisfaction Linux

MX Tools revisité - Un couteau suisse de pingouins

La commande timer sous Linux

Les 15 meilleurs chargeurs de démarrage Linux pour les systèmes domestiques et embarqués