Linux 下编译安装使用 busybox

文章
林里克斯

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 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

1124 0 2021-01-05


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-04-28

今日天气
站点统计
  • 文章总数:240篇
  • 分类总数:29个
  • 评论总数:10条
  • 本站总访问量 216584 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!