BusyBox
[Wikipedia|▼Menu]

BusyBox

作者ブルース・ペレンズ、Erik Andersen、Rob Landley、Denys Vlasenko

最新版1.36.1 / 2023-05-19
最新評価版1.36.0 / 2023-01-03
リポジトリ

git.busybox.net/busybox

対応OSLinux
種別SUS XCU (Command and Utility) 実装
ライセンスGNU General Public License v2
公式サイトbusybox.net
テンプレートを表示

busybox-w32作者Ron Yorston

最新版1.31.1[1] / 2019年10月25日 (4年前) (2019-10-25)
リポジトリgithub.com/rmyorston/busybox-w32
対応OSMicrosoft Windows
ライセンスGNU General Public License v2
公式サイトfrippery.org/busybox/
テンプレートを表示

BusyBox(ビジーボックス)は、Coreutilsなど標準UNIXコマンドで重要な多数のプログラムを単一の実行ファイルに「詰め込んで」提供する、特殊な方式のプログラムである(その詰め込み方法を指して呼ぶこともある)。BusyBoxの実行ファイルLinux上で最小の実行ファイルとなるよう設計されており、各コマンドの実行ファイルをインストールするのに比べディスクの使用量を大幅に削減することができる。そのため、特定用途のLinuxディストリビューション組み込みシステムに適しており、「組み込みLinux十徳ナイフ」とも呼ばれている。GPLv2でリリースされているフリーソフトウェアである。

機能的には1994年にメリーランド大学カレッジパーク校でJames da Silvaが開発したFreeBSD用のプログラムである crunchgenコマンドと似ている[2]
歴史

1996年、ブルース・ペレンズが書いたのが起源である。Debianディストリビューション用のレスキューディスクにもインストーラにもなるフロッピーディスク1枚の完全なブート可能システムとして設計した。組み込みLinuxや各種Linuxディストリビューションのインストーラのデファクトスタンダードとなった。Linuxのそれぞれの実行ファイルには数キロバイトのオーバーヘッドがあるが、BusyBoxは200以上のプログラムを1つにまとめることで領域消費を大幅に削減している。

BusyBoxは、Debian のブートフロッピーインストーラ向けにEnrique Zanardiが1998年まで保守していたが、その後Linux Router Project (LRP) のDave Cinegeが引き継いだ。Cinegeはビルド環境のモジュール化などのいくつかの改良を施し、より組み込みシステム指向にした。1999年になってLRPの開発が低調になると、当時Lineo, Inc.にいたErik Andersenが引継ぎ、1999年12月から2006年3月まで保守を行った。この間、Linuxの組み込み用途の利用は爆発的に増大し、BusyBoxの機能も利用も増えていった。

2007年後半以降、BusyBoxをGPLに違反した使い方をした複数の企業を訴え、勝利したことで有名になった。

現在は Denys Vlasenko が保守を行っている。
機能

BusyBoxは200以上のユーティリティの一部だけを実装するようカスタマイズできる。Single UNIX Specification に含まれるユーティリティの大部分と他のLinuxでよく使われるユーティリティを提供できる。ユーティリティの一覧はBusyBoxのサイトにある[3]。BusyBoxはUnixシェルにはashを使っている[4][5]
単一バイナリ

通常、コンピュータプログラムにはそれぞれ個別のバイナリファイル(実行ファイル)がある。BusyBoxは全体で1つのバイナリになっており、その中に多数のアプリケーションが含まれている。それぞれのアプリケーションは単一のBusyBoxのバイナリをそれぞれの名前(ソフトリンクハードリンクで名前とバイナリをリンクする[6])で適切な引数付きで呼び出すことで利用できる。

BusyBoxの単一バイナリは、実行ファイルのフォーマット(通常、ELF)によるオーバーヘッドを削減し、ライブラリを使うことなく、複数のアプリケーション間でコードを共有可能にする。

共通コードを共有し、サイズを最適化するよう心がけて各ルーチンを記述しているため、BusyBoxが代替しているユーティリティ群に比較して大幅な領域削減を実現している。2004年当時の Doug Thayer と Keith Miller による調査によると、GNUプロジェクト、BusyBox、asmutils(英語版)、Perlによる実装の4種類でLinuxの標準的なコマンドを比較したとき、基本的に GNU の実装の物の方が実行速度が速いが、BusyBox の方が実行速度が速い場合が存在した[7]
コマンド

公式のBusyBoxのドキュメントには、利用可能なコマンドとそのオプションの一覧が掲載されている。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:33 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef