Ce document décrit l'installation et l'utilisation de la Busybox
Sommaire
Dans le cas d'une installation depuis F-Droid
Lancer l'application. La présence éventuelle d'une busybox est détectée
Taper sur Installer. Autoriser l'utilisation des droits root.
Par défaut, la busybox est installée en /system/xbin et des liens symboliques vers les applets sont disponibles.
Ouvrir un shell
$ adb shell
Liste des commandes disponibles dans la busybox
$ 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,
......
Comparaison avec les commandes du système
$ 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
Pour savoir quelle commande est utilisée par défaut
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
Forcer l'utilisation de la version busybox : précéder la commande par busybox
$ 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
Forcer l'utilisation de la version du système de base : indiquer le chemin complet de la commande
$ /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.
Pour désinstaller la busybox, se rendre dans l'application et sélectionner Supprimer. Puis supprimer éventuellement l'application.