BusyBox: Difference between revisions

From Alpine Linux
(Added aliases instructions based on http://redd.it/1g8924f by reddit user SaltyMaybe7887)
(added other references in wiki. removed draft notice)
 
(One intermediate revision 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}}
 
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.


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


Alpine uses Busybox Ash for its default shell.  
Alpine Linux uses Busybox Ash for its default shell. Refer [[Change default shell|change default shell]] page for more information.


=== using aliases ===
=== Aliases ===


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 the file where you define your 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:
First create the file {{Path|/etc/profile.d/profile.sh}} as follows:
Line 26: Line 22:
}}
}}


== 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