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のドキュメントには、利用可能なコマンドとそのオプションの一覧が掲載されている。BusyBoxコマンドの一覧[8]

[

[[

acpid

addgroup

adduser

adjtimex

ar

arp

arping

ash

awk

basename

beep

blkid

brctl

bunzip2

bzcat

bzip2

cal

cat ? ファイルの内容を標準出力にコピーする

catv

chat

chattr

chgrp

chmod ? ファイルのモードを変更する

chown

chpasswd

chpst

chroot

chrt

chvt

cksum

clear

cmp

comm

cp ? コピーする

cpio

crond

crontab

cryptpw

cut

date ? システム日時を表示する

dc

dd ? ファイルを変換・フォーマットしながらコピーする

deallocvt

delgroup

deluser

depmod

devmem

df ? ファイルシステムの使用統計を表示する

dhcprelay

diff

dirname

dmesg

dnsd

dnsdomainname

dos2unix

dpkg

du

dumpkmap

dumpleases

echo ? 指定した1行の文字列を表示する

ed

egrep

eject

env

envdir

envuidgid

expand

expr

fakeidentd

false

fbset

fbsplash

fdflush

fdformat

fdisk

fgrep

find

findfs

flash_lock

flash_unlock

fold

free

freeramdisk

fsck

fsck.minix

fsync

ftpd

ftpget

ftpput

fuser

getopt

getty

grep ? 各ファイルまたは標準入力の中からパターンを検索する

gunzip ? 圧縮ファイルを展開する

gzip ? ファイルを圧縮する

hd

hdparm

head


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

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