Busybox

Certaines applications nécessitent que busybox soit installé pour fonctionner. Ce document décrit l'installation et l'utilisation en ligne de commande de la Busybox

1 - Installation

2 - Utilisation

$ adb shell
$ busybox
BusyBox v1.27.2-meefik (2017-08-27 07:52:02 BST) 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 --install [-s] [DIR]
or: function [arguments]...

BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. The shell in this build
is configured to run built-in utilities without $PATH search.
You don't need to install a link to busybox for each utility.
To run external program, use full path (/sbin/ip instead of ip).

Currently defined functions:
[, [[, acpid, adjtimex, ar, arp, ash, awk, base64, basename, bbconfig,
beep, blkdiscard, blkid, blockdev, bootchartd, brctl, bunzip2, bzcat,
bzip2, cal, cat, chat, chattr, chgrp, chmod, chown, chpst, chroot,
chrt, chvt, cksum, clear, cmp, comm, conspy, cp, cpio, crond, crontab,
cryptpw, cttyhack, cut, date, dc, dd, deallocvt, depmod, devfsd,
devmem, df, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, dpkg,
dpkg-deb, du, dumpkmap, echo, ed, egrep, eject, env, envdir, envuidgid,
ether-wake, expand, expr, factor, fakeidentd, fallocate, false,
......
$ toybox
acpi arp base64 basename blkid blockdev bzcat cal cat chattr chcon
chgrp chmod chown chroot chrt cksum clear cmp comm cp cpio cut date
dd df diff dirname dmesg dos2unix du echo egrep env expand expr fallocate
false fdisk fgrep file find flock free freeramdisk fsfreeze fstype
ftpget ftpput getenforce getfattr getprop grep groups head help host
hostname hwclock id ifconfig inotifyd insmod install ionice iorenice
iotop kill killall ln load_policy log logname losetup ls lsattr lsmod
lsof lspci lsusb makedevs md5sum mkdir mkfifo mknod mkswap mktemp
modinfo more mount mountpoint mv nbd-client nc netcat netstat nice
nl nohup nproc od partprobe paste patch pgrep pidof pivot_root pkill
pmap printenv printf ps pwd pwdx readahead readlink realpath renice
reset resize restorecon rev rfkill rm rmdir rmmod route runcon sed
sendevent seq setenforce setfattr setprop setsid sha1sum sha224sum
sha256sum sha384sum sha512sum sleep sort split start stat stop strings
swapoff swapon sync sysctl tac tail tar taskset tee telnet test time
timeout top touch tr traceroute traceroute6 true truncate tty tunctl
ulimit umount uname uniq unix2dos uptime usleep vconfig vmstat watch
wc which whoami xargs xxd xzcat yes

La commande acpid n'est présente que dans busybox, c'est elle qui est utilisée. La commande acpi n'est présente que dans le système de base, c'est elle qui est utilisée

$ which acpid
/system/xbin/acpid
$ which acpi
/system/bin/acpi

Les commandes blkid et cat sont présentes dans le système de base et dans la busybox, on voit que blkid est fourni par la busybox, cat par le système de base.

$ which blkid
/system/xbin/blkid
$ which cat
/system/bin/cat
$ busybox cat --help
BusyBox v1.27.2-meefik (2017-08-27 07:52:02 BST) multi-call binary.

Usage: cat [-nbvteA] [FILE]...

Print FILEs to stdout

-n Number output lines
-b Number nonempty lines
-v Show nonprinting characters as ^x or M-x
-t ...and tabs as ^I
-e ...and end lines with $
-A Same as -vte
$ /system/bin/cat --help                                           
usage: cat [-etuv] [file...]

Copy (concatenate) files to stdout. If no files listed, copy from stdin.
Filename "-" is a synonym for stdin.

-e Mark each newline with $
-t Show tabs as ^I
-u Copy one byte at a time (slow).
-v Display nonprinting characters as escape sequences. Use M-x for
high ascii characters (>127), and ^x for other nonprinting chars.

3 - Désinstallation

Pour désinstaller la busybox, se rendre dans l'application et sélectionner Supprimer. Puis supprimer éventuellement l'application.