BusyBox是一個內建了一百多個最常用linux指令和工具的軟體。BusyBox包含了一些簡單的工具,例如ls、cat和echo等等,還包含了一些更大、更複雜的工具,例grep、find、mount以及telnet。有些人将BusyBox稱為Linux工具裡的瑞士軍刀。簡單的說BusyBox就好像是個大工具箱,它內建壓縮了Linux的許多工具和指令,也包含了Android系統的自帶的shell。BusyBox将許多具有共性的小版本的UNIX工具結合到一個單一的可執行檔案。這樣的集合可以替代大部分常用工具比如的GNU fileutils,shellutils等工具,BusyBox提供了一個比較完善的環境,可以适用于任何小的嵌入式系統。
簡介/busybox 編輯
busybox圖冊
BusyBox 将許多具有共性的小版本的UNIX工具結合到一個單一的可執行檔案。這樣的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一個比較完善的環境,可以适用于任何小的嵌入式系統。
發源/busybox 編輯
BusyBox 最初是由 Bruce Perens 在 1996 年為Debian GNU/Linux安裝盤編寫的。其目标是在一張軟碟上建立一個可引導的 GNU/Linux 系統,這可以用作安裝盤和急救盤。
編譯安裝/busybox 編輯
編譯好後在busybox目錄下生成子目錄_install,裡面的内容:
drwxr-xr-x 2 root root 4096 11月 24 15:28 bin
rwxrwxrwx 1 root root 11 11月 24 15:28linuxrc -> bin/busybox
drwxr-xr-x 2 root root 4096 11月 24 15:28 sbin
其中可執行檔案busybox在需要制作檔案系統映像燒入闆子的情況下,busybox應放在根檔案系統目錄下的bin中,其他的都是指向他的符号連結.
配置/busybox 編輯
busybox的配置程式和linux核心菜單配置方式簡直一模一樣.熟悉用make menuconfig方式配置linux核心的朋友很容易上手.
下面是需要編譯進busybox的功能選項。
General Configuration應該選的選項
Show verbose applet usage messages
Runtime SUID/SGID configuration via /etc/busybox.conf
Build Options
Build BusyBox as a static binary (no shared libs)
這個選項是一定要選擇的,這樣才能把busybox編譯成靜态連結的可執行檔案,運作時才獨立于其他函數庫.否則必需要其他庫檔案才能運作,在單一個linux核心不能使它正常工作.
Installation Options
Don't use /usr
這個選項也一定要選,否則make install 後busybox将安裝在原系統的/usr下,這将覆寫掉系統原有的指令.選擇這個選項後,make install後會在busybox目錄下生成一個叫_install的目錄,裡面有busybox和指向它的連結.
其它選項都是一些linux基本指令選項,自己需要哪些指令就編譯進去,一般用預設的就可以了,配置好後退出并儲存。[2]
使用技巧/busybox 編輯
可以這樣用busybox
他的功能就相當運作ls指令
最常用的用法是建立指向busybox的連結,不同的連結名完成不同的功能.
然後分别運作這三個連結:
就可以分别完成了ls rm 和mkdir指令的功能.雖然他們都指向同一個可執行程式busybox,但是隻要連結名不同,完成的功能就不同,很多linux網站都提供busybox的源代碼下載下傳。