Linux 下编译安装使用 busybox
文章
林里克斯
实验平台:
CentOS Linux release 7.6.1810 (Core)
busybox Version:
busybox-1.33.0
一、安装使用
1.官网
https://www.busybox.net/
https://github.com/mirror/busybox
#Github
2.下载
$ wget https://busybox.net/downloads/busybox-1.33.0.tar.bz2
3.解压
$ sudo yum -y install bzip2
$ tar -jxf busybox-1.33.0.tar.bz2
$ cd busybox-1.33.0
3.1 make help
$ make help
#会读取当前路径下的 Makefile.help,确保下载的源码包里有这个
清除(Cleaning):
clean #删除由生成创建的临时文件
distclean #删除所有非源文件(包括.config)
doc-clean #删除所有生成的文档
构建(Build):
all #创建可执行文件和文档
busybox #创建 busybox 命令
doc #创建 docs/BusyBox.{txt,html,1}
html #创建基于html的交叉引用
配置(Configuration):
allnoconfig #禁用 .config 中的所有功能,将 .config 设置为最小的通用配置
allyesconfig #启用 .config 中的所有功能(参考 defconfig),将 .config 设置为最大的通用配置
config #基于文本的配置器 (of last resort)
defconfig #将 .config 设置为通用配置,用这个就足够了
menuconfig #交互式 curses-based 配置器,可选,可以加入或去除某些模块
oldconfig #resolve any unresolved symbols in .config
android2_defconfig # Build for android2
TEST_noprintf_defconfig # Build for TEST_noprintf
cygwin_defconfig # Build for cygwin
TEST_nommu_defconfig # Build for TEST_nommu
android_defconfig # Build for android
android_ndk_defconfig # Build for android_ndk
android_502_defconfig # Build for android_502
TEST_rh9_defconfig # Build for TEST_rh9
freebsd_defconfig # Build for freebsd
安装(Installation):
install #将 busybox 安装到 CONFIG_PREFIX 中
uninstall #卸载
开发(Development):
baseline #为 bloatcheck 创建 busybox_old
bloatcheck #显示新旧版本之间的大小差异
check #为所有程序运行测试套件
checkhelp #检查 Config.in 中缺少的帮助项
randconfig #生成随机配置
release #创建一个分发压缩文件
sizes #显示所有已启用的 busybox 模块的大小
objsizes #显示所构建的每个 .o 对象
bigdata #显示数据对象,优先显示最大的
stksizes #显示堆栈用户, 优先显示最大的
4.编译
$ make defconfig
$ make
#会在当前目录下生成 busybox 二进制可执行文件。编译完成
4.1 编译安装
$ make install
#编译安装后会在当前目录生成一个 _install 文件,里面也有 busybox 的二进制可执行文件,也有一些基础命令的软连,全是软连给 busybox
二、使用 busybox
1.为什么需要用到 busybox
Linux
服务器并不是完全不可攻破的,有些厉害的病毒会修改你的基础命令,你不仔细就很容易上当了。使用 busybox
就完全避免了这个问题
2.busybox
支持的命令
[, [[, acpid, add-shell, addgroup, adduser, adjtimex, arch, arp, arping, ash, awk, base32, base64,
basename, bc, beep, blkdiscard, blkid, blockdev, bootchartd, brctl, bunzip2, bzcat, bzip2, cal, cat,
chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm, conspy,
cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod,
devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, dpkg, dpkg-deb, du,
dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake, expand, expr, factor,
fakeidentd, fallocate, false, fatattr, fbset, fbsplash, fdflush, fdformat, fdisk, fgconsole, fgrep,
find, findfs, flock, fold, free, freeramdisk, fsck, fsck.minix, fsfreeze, fstrim, fsync, ftpd, ftpget,
ftpput, fuser, getopt, getty, grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump, hexedit,
hostid, hostname, httpd, hush, hwclock, i2cdetect, i2cdump, i2cget, i2cset, i2ctransfer, id, ifconfig,
ifdown, ifenslave, ifplugd, ifup, inetd, init, insmod, install, ionice, iostat, ip, ipaddr, ipcalc,
ipcrm, ipcs, iplink, ipneigh, iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd, last,
less, link, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread, losetup,
lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsscsi, lsusb, lzcat, lzma, lzop, makedevs, makemime,
man, md5sum, mdev, mesg, microcom, mim, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix,
mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount, mountpoint, mpstat, mt, mv,
nameif, nanddump, nandwrite, nbd-client, nc, netstat, nice, nl, nmeter, nohup, nologin, nproc, nsenter,
nslookup, ntpd, nuke, od, openvt, partprobe, passwd, paste, patch, pgrep, pidof, ping, ping6,
pipe_progress, pivot_root, pkill, pmap, popmaildir, poweroff, powertop, printenv, printf, ps, pscan,
pstree, pwd, pwdx, raidautorun, rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
reformime, remove-shell, renice, reset, resize, resume, rev, rm, rmdir, rmmod, route, rpm, rpm2cpio,
rtcwake, run-init, run-parts, runlevel, runsv, runsvdir, rx, script, scriptreplay, sed, sendmail, seq,
setarch, setconsole, setfattr, setfont, setkeycodes, setlogcons, setpriv, setserial, setsid, setuidgid,
sh, sha1sum, sha256sum, sha3sum, sha512sum, showkey, shred, shuf, slattach, sleep, smemcap, softlimit,
sort, split, ssl_client, start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv, svc, svlogd,
svok, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, taskset, tc, tcpsvd, tee,
telnet, telnetd, test, tftp, tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
truncate, ts, tty, ttysize, tunctl, ubiattach, ubidetach, ubimkvol, ubirename, ubirmvol, ubirsvol,
ubiupdatevol, udhcpc, udhcpc6, udhcpd, udpsvd, uevent, umount, uname, unexpand, uniq, unix2dos, unlink,
unlzma, unshare, unxz, unzip, uptime, users, usleep, uudecode, uuencode, vconfig, vi, vlock, volname, w,
wall, watch, watchdog, wc, wget, which, who, whoami, whois, xargs, xxd, xz, xzcat, yes, zcat, zcip
3.busybox
是具备可移植的,只需将 busybox
可执行的二进制文件移至到同一类型的服务器下即可使用
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1760 0 2021-01-05
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
随机推荐
11-29
Linux 下普通用户使用 docker 命令
04-19
Python 之路字符串(五)
02-01
记一次博客MySQL突发事件
11-04
redis.conf 详解
09-27
使用 Nginx 代理做个下载站
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353522 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...