ホームページ > 運用・保守 > Linuxの運用と保守 > Linuxビジーボックスとは何ですか

Linuxビジーボックスとは何ですか

青灯夜游
リリース: 2022-11-11 10:20:27
オリジナル
3460 人が閲覧しました

busybox は、Linux システムでソフトウェアを開発するための開発ツールで、最も一般的に使用される 300 以上の Linux コマンドとツールを統合したソフトウェアです。簡単に言うと、BusyBox は大きなツールボックスのようなもので、Linux の多くのツールやコマンドを統合して圧縮しており、Linux システム独自のシェルも含まれています。 BusyBox は、特にオペレーティング システムのサイズが小さいことが重要な場合に、GNU Coreutils の優れた代替手段となります。

Linuxビジーボックスとは何ですか

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

BusyBox は、現在、特に Docker ユーザーの間でますます人気が高まっており、多くの Docker イメージが BusyBox を使用して最小限のイメージを提供しています。

Linux コマンドを当然のこととして受け入れ、ls、mv などのコマンドが Linux の一部であると考えている場合、実際にはこれらのコマンドは GNU Coreutils パッケージの一部であるにもかかわらず、これは多くのユーザーにとって特に混乱を招く可能性があります。 、ほとんどの Linux ディストリビューションはプリインストールされています。

GNU Coreutils は、さまざまな UNIX/Linux コマンドのほぼ事実上のプロバイダーです。これは、代替手段が常に存在し、BusyBox が GNU Coreutils の代替手段の 1 つであるためです。

BusyBox とは何ですか?

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 です。

BusyBox で Linux コマンド オプションの全範囲を取得できないのは問題ですか?

これはニーズによって異なりますが、ほとんどの人はコマンドのすべてのオプションを必要とすることはありません。一部の Linux コマンドには 50 を超えるオプションがあり、1 つの Linux コマンドですべてのオプションを使用したことさえないはずです。

BusyBox は、めったに使用されないオプションを減らします。たとえば、ls コマンドには、長いリストの出力 (ls -l) からグループ名を削除するオプション G があります。

Linuxビジーボックスとは何ですか

さて、このオプションが必要になることはないと思います。必要な場合は、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 を入手するにはどうすればよいですか?

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ビジーボックスとは何ですか

# 要約すると、通常の Linux システムで BusyBox を使用する必要はありません。GNU Coreutils から完全バージョンの Linux コマンドがすでに入手可能です。ライト版をインストールする必要はありません。

しかし、BusyBox は、組み込みデバイスや IoT デバイス用に最小限の Linux オペレーティング システムを構成する場合など、特別な分野で使用されます。これは、Docker イメージのサイズを小さく保ちたい場合にも当てはまります。

関連する推奨事項: 「Linux ビデオ チュートリアル

以上がLinuxビジーボックスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート