top of page

BusyBox

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.



34 views0 comments

Recent Posts

See All

Raspberry Pi-hole | Block ADS

Display ads are a huge annoyance that everyone could do without, but blocking them has always been harder to do on mobile devices than on desktops. Pi-hole solves this problem by turning your Raspberr

TAILS OS - Portable anonymity

Tails (The Amnesic Incognito Live System) is a computer operating system made with Linux and based on Debian. It's designed to be as anonymous as possible, preventing all manner of tracking and survei

Shell Genie | ChatGPT

Shell Genie is a new command line tool that can be used to ask how to perform various tasks, and it gives you the shell command you need. To generate the commands, it uses OpenAI's GPT-3 or Free Genie

bottom of page