BusyBox is a collection of Linux system utilities that are combined into a single executable. It is designed to be run on devices with limited resources such as routers, embedded systems, and other similar devices.
The BusyBox utilities include many common Linux commands such as cat, ls, grep, tar, among others. By combining these utilities into a single executable, BusyBox takes up less disk space and requires fewer system resources than installing each utility individually.
The main advantage of BusyBox is that it allows devices with limited resources to perform common Linux tasks without taking up much disk space or consuming many system resources. In addition, BusyBox is open-source and can be customized according to the user's needs.
However, one disadvantage of using BusyBox is that it may not provide all the features of individual Linux utilities. This can be a problem for advanced users who require more advanced functionality.
BusyBox is a multi-call binary. A multi-call binary is an executable program that performs the same job as more than one utility program. That means there is just a single BusyBox binary, but that single binary acts like a large number of utilities. This allows BusyBox to be smaller since all the built-in utility programs (we call them applets) can share code for many common operations.
You can also invoke BusyBox by issuing a command as an argument on the command line. For example, entering
/bin/busybox ls |
will also cause BusyBox to behave as 'ls'.
Of course, adding '/bin/busybox' into every command would be painful. So most people will invoke BusyBox using links to the BusyBox binary.
For example, entering
ln -s /bin/busybox ls ./ls |
will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled into BusyBox). Generally speaking, you should never need to make all these links yourself, as the BusyBox build system will do this for you when you run the 'make install' command.
If you invoke BusyBox with no arguments, it will provide you with a list of the applets that have been compiled into your BusyBox binary.
Most BusyBox applets support the --help argument to provide a terse runtime description of their behaviour. If the CONFIG_FEATURE_VERBOSE_USAGE option has been enabled, more detailed usage information will also be available.
On Linux, you can install BusyBox using your package manager.
$ sudo apt install busybox |
root@DRM:/etc/DRM# busybox | head BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3) multi-call binary. BusyBox is copyrighted by many authors between 1998-2015. Licensed under GPLv2. See source distribution for detailed copyright notices. Usage: busybox [function [arguments]...] or: busybox --list[-full] or: busybox --show SCRIPT or: busybox --install [-s] [DIR] or: function [arguments]... |
root@DRM:~# sudo apt-cache show busybox Package: busybox Architecture: amd64 Version: 1:1.30.1-7ubuntu3 Priority: optional Section: universe/utils Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian Install System Team <debian-boot@lists.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 791 Depends: libc6 (>= 2.34) Conflicts: busybox-static Replaces: busybox-static Filename: pool/universe/b/busybox/busybox_1.30.1-7ubuntu3_amd64.deb Size: 436112 MD5sum: 4987d68d9ccc6d4d104bbbce056d56fe SHA1: de6ccb22d93ebf86b1c03da9dfc0fa7649e0141d SHA256: a838d26294c1cff14ae1be65dc8c888c7db54a2b8761840708884a161e21f726 SHA512: da6b35f917befad1936940232c5a795e4dbde14583e2678733cef565257ec8973f4af593c7d18550eda7b8e86588eb90d8650711bf08e6231de24fbcfa0c1402 Homepage: http://www.busybox.net Description-en: Tiny utilities for small and embedded systems BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for the most common utilities you would usually find on your desktop system (i.e., ls, cp, mv, mount, tar, etc.). The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. . This package installs the BusyBox binary but does not install symlinks for any of the supported utilities. Some of the utilities can be used in the system by installing the busybox-syslogd, busybox-udhcpc or busybox-udhcpd packages. Description-md5: b7707908219c331294f3f9e8d926a9dc |
Select the BusyBox package to install from the available set of packages:
$ sudo apt-cache search busybox | grep busybox |
Install compelled binaries of BusyBox on Ubuntu:
$ sudo apt install busybox |
List all the applets supported by Busybox:
busybox | less |
Uninstall old version of Busybox:
$ sudo apt purge busybox $ reboot |
If you would like to test BusyBox for yourself, you can download it from the official website at https://www.busybox.net/downloads/. There are also many resources available online to help you get started with using BusyBox on your device.
Commentaires