トップ OSS紹介 BusyBox

BusyBox

NRIのOpenStandiaが提供するBusyBox最新情報

バージョンアップ情報

BusyBox情報

BusyBoxとは

BusyBoxは、「組込みLinuxのためのスイスアーミーナイフ」と自らを謳っている、よく利用されているUNIXツール群をまとめて1つの実行ファイルにしたソフトウェアです。組込みLinux向けとあるのはファイルサイズがとても小さく、BusyBoxに含まれているコマンドの通常版をインストールするより大幅にディスク使用量を減らせるためです。これは、BusyBoxが開発された1996年当時に、Debianディストリビューション向けのフロッピーディスク1枚で、システムの復旧やインストーラーが起動するディスクに同梱させる目的で作られたことによります。なお、実際には、Androidを含む組込みLinuxに限らず、通常のLinuxディストリビューションでも動作します。

主な特徴

各ツールの実行ファイルはLinuxで動作可能な最小のサイズになるよう設計されており、実行ファイルのサイズはuClibcライブラリーを使ったもので1MB未満に収まっています。(uClibc は組み込みシステム向けのC ライブラリーで、glibcよりもサイズが小さいです)。その一方で、通常版のコマンドに比べ、オプションが削除されていることがあります。

各コマンドのサイズ比較

コマンド

BusyBox

Linux

echo

28 KB

33 KB

ls

53 KB

115 KB

find

69 KB

195 KB

httpd

85 KB

512 KB

BusyBoxは各コマンドが1つのバイナリファイルの中に組み込まれて提供されています。そのため、各コマンドを実行するには、busyboxコマンドの第一引数に実行したいコマンドを渡して呼び出します。

例) ls コマンドの呼出
/bin/busybox ls -a

例) ヘルプを使って利用可能なオプションを確認
/bin/busybox ls -help

通常は各コマンドをBusyBoxのコマンドへのリンク(ハードリンク、シンボリックリンク)として作成して、通常のコマンドの呼出がbusyboxコマンドを通した呼出となるようにします。

BusyBoxは、軽量であるため多くのプロダクトに組み込まれています。下記URLにBusyBoxが組み込まれたプロダクトが掲載されています。

動作環境

BusyBoxは、Linuxカーネル2.4以降で完全に動作します。BusyBoxのコードはLinux向けに作られたものですが、FreeBSD、Solaris、MacOSXまたは、Windowsへのポートも容易に可能です。

  • Linuxカーネル2.4では、下記のアーキテクチャーで完全に動作します。
    ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC, S390, SH3/4/5, Sparc, v850e, x86_64
  • Linuxカーネル2.6では、すべてのアーキテクチャーで動作するとされています。

BusyBoxのライセンス

BusyBox は、GPLv2ライセンスのオープンソース・ソフトウエアです。GPLv2ライセンスの特徴は、次のようなものです。

  • 私的組織内部や個人で利用するにあたってのソースコード改変、再コンパイルには制限がありません。
  • GPLv2で頒布されたプログラムを再頒布する際にはソースコードを公開する必要があります(コピーレフト)。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Ubuntu

    Ubuntu

    ウブントゥ。高い完成度と使いやすさを誇る、世界で人気No.1のLinuxディストリビューションです。

  • Red Hat Enterprise Linux
    サポート対象

    Red Hat Enterprise Linux

    レッド ハット エンタープライズ リナックス。Red Hat社によって開発、販売が行われている製品版Linuxディストリビューション

  • Docker
    サポート対象

    Docker

    ドッカー。ソフトウェアコンテナを用いたアプリケーションのデプロイメントを自動化する仮想化オープンソースソフトウェアです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。