busybox は、Linux システムでソフトウェアを開発するための開発ツールで、最も一般的に使用される 300 以上の Linux コマンドとツールを統合したソフトウェアです。簡単に言うと、BusyBox は大きなツールボックスのようなもので、Linux の多くのツールやコマンドを統合して圧縮しており、Linux システム独自のシェルも含まれています。 BusyBox は、特にオペレーティング システムのサイズが小さいことが重要な場合に、GNU Coreutils の優れた代替手段となります。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
BusyBox は、現在、特に Docker ユーザーの間でますます人気が高まっており、多くの Docker イメージが BusyBox を使用して最小限のイメージを提供しています。
Linux コマンドを当然のこととして受け入れ、ls、mv などのコマンドが Linux の一部であると考えている場合、実際にはこれらのコマンドは GNU Coreutils パッケージの一部であるにもかかわらず、これは多くのユーザーにとって特に混乱を招く可能性があります。 、ほとんどの Linux ディストリビューションはプリインストールされています。
GNU Coreutils は、さまざまな UNIX/Linux コマンドのほぼ事実上のプロバイダーです。これは、代替手段が常に存在し、BusyBox が GNU Coreutils の代替手段の 1 つであるためです。
busybox は、Linux システムでソフトウェアを開発するための開発ツールです。
BusyBox は、約 400 の一般的な UNIX/Linux コマンドの合理化された実装を提供するオープン ソース プロジェクトです。
BusyBox は、最も一般的に使用される 300 以上の Linux コマンドとツールを統合するソフトウェアです。 BusyBox には、ls、cat、echo などの単純なツールに加え、grep、find、mount、telnet などのより大きく複雑なツールが含まれています。 BusyBox を Linux ツールのスイス アーミー ナイフと呼ぶ人もいます。簡単に言うと、BusyBox は大きなツールボックスのようなもので、Linux の多くのツールやコマンドを統合して圧縮しており、Linux システム独自のシェルも含まれています。
BusyBox の実装では、一般的ではない、めったに使用されないコマンド オプションが削除され、すべてが 1 MB 未満です。この最小限のイメージが、クラウド コンピューティングの世界だけでなく、組み込みシステムや IoT の世界でも人気がある理由です。
サイズには注目しないでください。BusyBox には、従来のエディター (これも機能を簡略化したバージョン) と同様に sed と awk のスコープがあり、独自のシェルも含まれており、次のような init コマンドも含まれています。 PID 1 として開始できます。これは、BusyBox を Systemd、OpenRC などの代替として構成できることを意味します。
BusyBox は、特にオペレーティング システムのサイズが小さいことが重要な場合に、GNU Coreutils の優れた代替手段となります。
BusyBox は、mv、mkdir、ls などの一般的な Linux コマンドを提供しますが、これらのコマンドに共通のオプションのみが含まれています。このミニマリズムが BusyBox の USP です。
これはニーズによって異なりますが、ほとんどの人はコマンドのすべてのオプションを必要とすることはありません。一部の Linux コマンドには 50 を超えるオプションがあり、1 つの Linux コマンドですべてのオプションを使用したことさえないはずです。
BusyBox は、めったに使用されないオプションを減らします。たとえば、ls コマンドには、長いリストの出力 (ls -l) からグループ名を削除するオプション G があります。
さて、このオプションが必要になることはないと思います。必要な場合は、BusyBox の ls 実装にこのオプションが存在しないのはそのためです。グループ名の出力が含まれている場合は、この目的で Cut または awk コマンドを使用するだけです。
別の例を挙げてみましょう。これは GNU Coreutils の mv コマンドのヘルプ ページです:
Usage: mv [OPTION]... [-T] SOURCE DEST or: mv [OPTION]... SOURCE... DIRECTORY or: mv [OPTION]... -t DIRECTORY SOURCE... Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -Z, --context set SELinux security context of destination file to default type --help display this help and exit --version output version information and exit
さて、ここに BusyBox の mv コマンドのヘルプ ページがあります:
Usage: mv [-fin] SOURCE DEST or: mv [-fin] SOURCE... DIRECTORY Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY -f Don't prompt before overwriting -i Interactive, prompt before overwrite -n Don't overwrite an existing file
違いがわかりますか?
BusyBox はさまざまな方法で入手できます。
現在の Linux ディストリビューションで BusyBox を体験したいだけの場合は、ディストリビューションのパッケージ マネージャー (Apt、DNF、Yum など) を使用してインストールできます。
Ubuntu では、次のコマンドを使用して BusyBox をインストールできます:
sudo apt install busybox
その後、コマンドの BusyBox バージョンを実行する場合は、その前に BusyBox を追加する必要があります。
busybox cat sample.txt
BusyBox がこのコマンドを実装していない場合、「アプレットが見つかりません」というエラーが発生します。
abhishek@LHB:~$ busybox xyz xyz: applet not found
また、BusyBox の Docker イメージをダウンロードして、実行中のコンテナーで体験することもできます。
Docker がインストールされていることを確認し、公式の Docker イメージをプルしてください:
docker pull busybox
イメージからコンテナーを実行し、BusyBox シェルに入ります:
docker run -it --rm busybox
ここで実行するものすべて各 Linux コマンドは BusyBox から提供されます。明示的に指定する必要はありません。
# 要約すると、通常の Linux システムで BusyBox を使用する必要はありません。GNU Coreutils から完全バージョンの Linux コマンドがすでに入手可能です。ライト版をインストールする必要はありません。
しかし、BusyBox は、組み込みデバイスや IoT デバイス用に最小限の Linux オペレーティング システムを構成する場合など、特別な分野で使用されます。これは、Docker イメージのサイズを小さく保ちたい場合にも当てはまります。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxビジーボックスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。