BusyBox: Difference between revisions

From Alpine Linux
(added other references in wiki. removed draft notice)
m (rephrased sentence, added links and context)
Line 1: Line 1:
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities usually found in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU counterparts.
Alpine Linux is built around musl libc and [https://www.busybox.net/ busybox]. BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities usually found in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU counterparts.


== Ash shell ==
== Ash shell ==


Alpine Linux uses Busybox Ash for its default shell. Refer [[Change default shell|change default shell]] page for more information.
Alpine Linux uses Busybox Ash for its default shell. To change the default shell to other shells like {{Pkg|bash}}, {{Pkg|zsh}}, {{Pkg|fish}} etc..refer [[Change default shell|change default shell]].


=== Aliases ===
=== Aliases ===

Revision as of 03:05, 22 October 2024

Alpine Linux is built around musl libc and busybox. BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities usually found in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU counterparts.

Ash shell

Alpine Linux uses Busybox Ash for its default shell. To change the default shell to other shells like bash, zsh, fish etc..refer change default shell.

Aliases

When using Ash shell, one can’t set aliases in the ~/.profile, but environment variables can be set in it. In order to use aliases with Busybox Ash, you must set the ENV environment variable to refer the aliases file.

First create the file /etc/profile.d/profile.sh as follows:

Contents of /etc/profile.d/profile.sh

if [ -f "$HOME/.config/ash/profile" ]; then . "$HOME/.config/ash/profile" fi

Next create the file ~/.config/ash/profile as follows:

Contents of ~/.config/ash/profile

export ENV="$HOME/.config/ash/ashrc"

Now aliases can be added in the file ~/.config/ash/ashrc:

Contents of ~/.config/ash/ashrc

su="doas -s"

Replacing Busybox symlinks

If you find busybox lacking in features or options, it is easy to replace busybox endpoints by their full-featured utilities.

See Also