BusyBox: Difference between revisions

From Alpine Linux
(created page with links to official site and man page and draft notice)
 
(added other references in wiki. removed draft notice)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
BusyBox: The Swiss Army Knife of Embedded Linux.
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.


{{Draft|This page is still being created}}
== Ash shell ==


BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, 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. BusyBox provides a fairly complete environment for any small or embedded system.
Alpine Linux uses Busybox Ash for its default shell. Refer [[Change default shell|change default shell]] page for more information.
 
=== Aliases ===
 
When using Ash shell, one can’t set aliases in the {{Path|~/.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 {{Path|/etc/profile.d/profile.sh}} as follows:
{{Cat|/etc/profile.d/profile.sh|if [ -f "$HOME/.config/ash/profile" ]; then
. "$HOME/.config/ash/profile"
fi
}}
Next create the file {{path|~/.config/ash/profile}} as follows:
{{Cat|~/.config/ash/profile|export ENV{{=}}"$HOME/.config/ash/ashrc"
}}
Now aliases can be added in the file {{Path|~/.config/ash/ashrc}}:
 
{{Cat|~/.config/ash/ashrc|su{{=}}"doas -s"
}}
 
== Replacing Busybox symlinks ==
{{Main|How to get regular stuff working}}
If you find busybox lacking in features or options, it is easy to [[How to get regular stuff working|replace]] busybox endpoints by their full-featured utilities.  


== See Also ==
== See Also ==
* [https://www.busybox.net/ Official website]
* [https://www.busybox.net/ Official website]
* [https://man.archlinux.org/man/busybox.1.en Online Manual]
* [https://man.archlinux.org/man/busybox.1.en Online Manual]
[[Category:System Administration]]

Latest revision as of 18:09, 21 October 2024

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. Refer change default shell page for more information.

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