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
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
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
Maintainer: Ubuntu Developers <firstname.lastname@example.org>
Original-Maintainer: Debian Install System Team <email@example.com>
Depends: libc6 (>= 2.34)
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
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.
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
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.