busybox est un outil de développement permettant de développer des logiciels sous les systèmes Linux. C'est un logiciel qui intègre plus de 300 des commandes et outils Linux les plus couramment utilisés. Pour faire simple, BusyBox est comme une grande boîte à outils. Il intègre et compresse de nombreux outils et commandes de Linux, et inclut également le propre shell du système Linux. BusyBox est une excellente alternative à GNU Coreutils, surtout si la petite taille du système d'exploitation est importante.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
BusyBox devient de plus en plus populaire maintenant, en particulier parmi les utilisateurs de Docker, de nombreuses images Docker utilisent BusyBox pour vous fournir un minimum d'images.
Cela peut être particulièrement déroutant pour de nombreux utilisateurs si vous prenez les commandes Linux pour acquises, vous pensez que ls, mv et d'autres commandes similaires font partie de Linux, alors que le fait est que ces commandes font partie du package GNU Coreutils et de la plupart des Linux. les distributions sont préinstallées.
GNU Coreutils est presque le fournisseur de facto de diverses commandes UNIX/Linux, presque parce qu'il existe toujours des alternatives, et BusyBox est l'une des alternatives à GNU Coreutils.
busybox est un outil de développement permettant de développer des logiciels sous les systèmes Linux.
BusyBox est un projet open source qui fournit des implémentations rationalisées d'environ 400 commandes UNIX/Linux courantes.
BusyBox est un logiciel qui intègre plus de 300 commandes et outils Linux les plus couramment utilisés. BusyBox comprend des outils simples tels que ls, cat et echo, ainsi que des outils plus grands et plus complexes tels que grep, find, mount et telnet. Certaines personnes appellent BusyBox le couteau suisse des outils Linux. Pour faire simple, BusyBox est comme une grande boîte à outils. Il intègre et compresse de nombreux outils et commandes de Linux, et inclut également le propre shell du système Linux.
L'implémentation de BusyBox supprime les options de commande rares et rarement utilisées, tout fait moins de 1 Mo, cette image minimale est la raison pour laquelle elle est populaire dans le monde des systèmes embarqués et de l'IoT, ainsi que dans le monde du cloud computing.
Ne regardez pas sa taille, BusyBox a la portée de sed et awk comme un éditeur classique (encore une fois en version allégée), il contient aussi son propre shell, il contient même une commande init qui peut être démarrée en tant que PID 1, qui signifie BusyBox Peut être configuré en remplacement de Systemd, OpenRC, etc.
BusyBox est une excellente alternative à GNU Coreutils, surtout lorsque la petite taille du système d'exploitation est importante.
BusyBox vous propose des commandes Linux populaires telles que mv, mkdir, ls, etc., mais il n'inclut que des options courantes pour ces commandes. Ce minimalisme est l’USP de BusyBox.
Cela dépend de vos besoins, en réalité, la plupart des gens n'auront jamais besoin de toutes les options de la commande. Certaines commandes Linux ont plus de 50 options, et je parie que vous n'avez jamais utilisé toutes les options pour une seule commande Linux.
BusyBox réduit les options rarement utilisées, par exemple, la commande ls a l'option G, qui supprime les noms de groupe de la sortie de longue liste (ls -l).
Maintenant, je ne pense pas que vous ayez jamais besoin de cette option, c'est pourquoi elle n'existe pas dans l'implémentation de ls par BusyBox, si vous avez besoin d'une sortie qui n'inclut pas les noms de groupe, il vous suffit de le faire faire est de faire ceci. Utilisez la commande cut ou awk à cet effet.
Donnez-moi un autre exemple. Voici la page d'aide pour la commande mv de GNU Coreutils :
Usage: mv [OPTION]... [-T] SOURCE DEST or: mv [OPTION]... SOURCE... DIRECTORY or: mv [OPTION]... -t DIRECTORY SOURCE... Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -Z, --context set SELinux security context of destination file to default type --help display this help and exit --version output version information and exit
Maintenant, voici la page d'aide pour la commande mv de BusyBox :
Usage: mv [-fin] SOURCE DEST or: mv [-fin] SOURCE... DIRECTORY Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY -f Don't prompt before overwriting -i Interactive, prompt before overwrite -n Don't overwrite an existing file
Vous voyez la différence ?
Vous pouvez obtenir BusyBox de plusieurs manières.
Si vous souhaitez simplement découvrir BusyBox sur votre distribution Linux actuelle, vous pouvez l'installer à l'aide du gestionnaire de packages de votre distribution (tel que Apt ou DNF ou Yum).
Sur Ubuntu, vous pouvez installer BusyBox en utilisant la commande suivante :
sudo apt install busybox
Après cela, si vous souhaitez exécuter la version BusyBox de la commande, vous devez ajouter busybox devant celle-ci.
busybox cat sample.txt
Si BusyBox n'implémente pas la commande, elle générera une erreur "Applet introuvable".
abhishek@LHB:~$ busybox xyz xyz: applet not found
Alternativement, vous pouvez télécharger l'image Docker de BusyBox et l'essayer dans un conteneur en cours d'exécution.
Assurez-vous que Docker est installé, extrayez l'image officielle du docker :
docker pull busybox
Exécutez un conteneur à partir de l'image et entrez dans le shell BusyBox :
docker run -it --rm busybox
Chaque commande Linux que vous exécutez ici provient de BusyBox. Vous n'avez pas besoin de le spécifier explicitement.
En conclusion, vous n'avez pas besoin d'utiliser BusyBox sur un système Linux classique, vous disposez déjà de la version complète des commandes Linux de GNU Coreutils. Pas besoin d'installer la version allégée.
Mais BusyBox a son utilité dans des domaines particuliers, comme lors de la configuration d'un système d'exploitation Linux minimal pour les appareils embarqués ou IoT. Cela est également vrai lorsque vous souhaitez conserver une petite taille de votre image Docker.
Recommandations associées : "Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!