バージョンアップ情報
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
ウブントゥ。高い完成度と使いやすさを誇る、世界で人気No.1のLinuxディストリビューションです。
-
サポート対象
Red Hat Enterprise Linux
レッド ハット エンタープライズ リナックス。Red Hat社によって開発、販売が行われている製品版Linuxディストリビューション
-
サポート対象
Docker
ドッカー。ソフトウェアコンテナを用いたアプリケーションのデプロイメントを自動化する仮想化オープンソースソフトウェアです。