GNU/Linux >> Linux の 問題 >  >> Fedora

FedoraSilverblueでツールボックスを使い始める

このガイドでは、Toolboxとは何か、およびFedoraLinuxでToolboxを使用してコンテナー化された開発環境を作成および管理する方法について説明します。

はじめに

近年、Linuxコンテナの仮想化は大きな勢いを増しています。実際、新世代の仮想化はコンテナ化です。

現在、アプリケーション開発者は主に、優先する開発環境としてコンテナーを使用しています。 Linuxコンテナを作成および管理するためのツールはたくさんあります。 ポッドマン Docker Vagrant いくつかの人気のあるコンテナ管理アプリケーションです。

今日は、ツールボックスと呼ばれるさらに別のユーティリティについて説明します。 これにより、コンテナ化された環境を日常のソフトウェア開発に簡単に使用できます。

ツールボックスとは何ですか?

Toolboxは、Fedoraベースシステム上にコンテナー化されたコマンドライン環境を作成するためのFedoraの社内ツールです。

これは、開発ツールとライブラリをインストールして使用できる、使用とスローのソフトウェア開発環境をセットアップする場合に特に便利です。

Toolboxは、 OSTree用に特別に開発されています Fedora Core OSなどのベースのシステム およびFedoraSilverblue 。ご存知かもしれませんが、OSTreeベースのシステムは不変です。

Toolboxは、OCIコンテナイメージとPodmanの上に構築されています。 rootは必要ありません コンテナをデプロイする権限。ツールボックスのインストールと使用法は非常に使いやすく、覚えやすいのは良いことです!

ツールボックスを選ぶ理由

不変OSの実際の目標は、ホストシステムへのソフトウェアのインストールを阻止し、ユーザーにソフトウェアをコンテナにインストールするように促すことです。

OSTreeベースのシステムとは異なり、コンテナは完全に変更可能です。そのため、お気に入りの開発およびデバッグツール、エディター、SDKをコンテナー内にインストールできます。ホストシステムには何もインストールされません。

これを簡単に言えば、Toolboxを使用して、不変のホストオペレーティングシステムに可変コンテナをデプロイできます。

ツールボックスの仕組み

デフォルトでは、Toolboxは現在のシステムに基づいてコンテナを作成します。たとえば、ベースシステムがFedora 35の場合、ツールボックスはFedora 35に基づいてコンテナーを作成します。このコンテナーでは、yumなどのパッケージマネージャーを使用できます。 またはdnf 好みのアプリケーションをインストールします。他のFedoraバージョンに基づいてコンテナーを作成することもできます。

一度に複数のコンテナーを開始して、異なるプロジェクトの作業を同時に開始できます。コンテナを使い終わったら、コンテナを削除して、いつでも新しいコンテナを作成します。繰り返しになりますが、ホストシステムはまったく影響を受けません。このようにして、クリーンなホストOSを維持できます。これにより、混乱が大幅に回避され、ホストOSの再インストールのプロセスが削減されます。

FedoraにToolboxをインストールする

Toolboxには、FedoraSilverblue30以降のエディションがプリインストールされています。 Fedoraワークステーションでは、dnfを使用してインストールできます。 またはyum パッケージマネージャー:

$ sudo dnf install toolbox

または、

$ sudo yum install toolbox

FedoraSilverblueでツールボックスを使い始める

Toolboxには、コンテナを作成、一覧表示、入力、および削除するための少数のコマンドが用意されています。

1。ツールボックスのヘルプを表示する

Toolboxを初めて使用する場合は、Toolboxヘルプセクションを表示して、各コマンドの機能を確認することをお勧めします。ツールボックスのヘルプを表示するには、次のコマンドのいずれかを使用します。

$ toolbox --help
$ toolbox help
$ toolbox -h

それでは、新しいコンテナの作成から始めましょう。

2。新しいコンテナを作成する

現在のFedoraOSバージョンに基づいて新しいコンテナーを作成するには、次のコマンドを実行するだけです。

$ toolbox create

このコマンドは、ローカルシステムからコンテナを構築するために使用するベースイメージを検索します。ローカルイメージが見つからない場合は、それぞれのイメージをダウンロードするように求められます。 yと入力します ENTERキーを押して画像をダウンロードします。

出力例:

Image required to create toolbox container.
Download registry.fedoraproject.org/fedora-toolbox:33 (500MB)? [y/N]: y
Created container: fedora-toolbox-33
Enter with: toolbox enter

Toolboxは、現在のホストシステムのOSのバージョンと一致するイメージをFedoraレジストリーからダウンロードし、ダウンロードされたイメージに基づいて新しいコンテナーを作成します。画像は通常、実際の配布の簡略版です。

2.1。カスタム名でコンテナを作成する

ツールボックスは自動的に一意の名前を割り当てます(例:fedora-toolbox-33 )新しく作成されたコンテナに。

選択したカスタム名でコンテナを作成する場合は、--containerを使用します 、-c フラグの後に次のようなコンテナの名前が続きます:

$ toolbox create --container mytoolbox-f33

またはまもなく:

$ toolbox create -c mytoolbox-f33

ここでは、mytoolbox-f33 はコンテナの名前です。

3。特定のOSバージョンに基づいて新しいコンテナを作成する

すでに述べたように、Toolboxは現在のOSバージョンに基づいてコンテナーを作成します。たとえば、Fedora 34を実行している場合、ToolboxはFedora34イメージに基づいてコンテナーを作成します。

ただし、他のバージョンに基づいてコンテナを作成することもできます。次のコマンドを使用して、Fedora33シルバーブルーエディションでFedora32コンテナーを作成しました。

$ toolbox create --release f32

またはまもなく、

$ toolbox create -r f32

4。コンテナの一覧表示

システムでローカルに使用可能なすべてのコンテナを一覧表示するには、次のコマンドを実行します。

$ toolbox list

出力例:

IMAGE ID      IMAGE NAME                                        CREATED
9659c2039e64  registry.fedoraproject.org/f32/fedora-toolbox:32  4 months ago
675192cc4238  registry.fedoraproject.org/fedora-toolbox:33      4 weeks ago

CONTAINER ID  CONTAINER NAME     CREATED         STATUS      IMAGE NAME
2cfb48d6a6c5  fedora-toolbox-32  4 months ago    exited      registry.fedoraproject.org/f32/fedora-toolbox:32
1f709997b871  fedora-toolbox-33  27 minutes ago  configured  registry.fedoraproject.org/fedora-toolbox:33

上記の出力でわかるように、2つのコンテナー、つまりfedora-toolbox-32があります。 およびfedora-toolbox-33 私のシステムで。

出力の上部には、イメージID、イメージの名前、それらのイメージがいつ作成されたかなど、コンテナーの作成に使用されたベースイメージの詳細が表示されます。下部には、コンテナID、コンテナ名、コンテナが作成された日時、コンテナのステータスなど、コンテナの詳細が表示されます。

コンテナの詳細または画像の詳細を個別に表示することもできます。コンテナの詳細のみを一覧表示するには、--containersを使用します 、-c オプション:

$ toolbox list --containers
 CONTAINER ID  CONTAINER NAME     CREATED       STATUS   IMAGE NAME
 2cfb48d6a6c5  fedora-toolbox-32  4 months ago  running  registry.fedoraproject.org/f32/fedora-toolbox:32
 1f709997b871  fedora-toolbox-33  21 hours ago  running  registry.fedoraproject.org/fedora-toolbox:33

画像のみを一覧表示するには、--imagesを使用します 、-i フラグ:

$ toolbox list --images
 IMAGE ID      IMAGE NAME                                        CREATED
 9659c2039e64  registry.fedoraproject.org/f32/fedora-toolbox:32  4 months ago
 675192cc4238  registry.fedoraproject.org/fedora-toolbox:33      4 weeks ago

コンテナ名とイメージ名は、名前の最後の部分を除いてほぼ同じように見えることに注意してください。

コンテナ名には通常ハイフンが付いています (-)名前の最後の部分の前(例:fedora-toolbox-33 )および画像名にはコロンがあります (:)(例:fedora-toolbox:33

5。コンテナに入る

コンテナはすでに作成されていますが、入力されていません。それでは、コマンドを使用してコンテナに入りましょう:

$ toolbox enter

コンテナに入ると、シェルプロンプトの前にひし形が表示されます。 次の出力に示すシンボル:

⬢[[email protected] ~]$ 

プロンプトの左端にあるひし形の記号に気づきましたか?それはあなたがコンテナの中にいることを意味します。

コンテナは、現在のOSとシームレスに統合されます。各コンテナ内には、既存のユーザー名と権限があります。

ホストシステムからアクセスするのと同じように、ホームディレクトリや他のいくつかの場所にアクセスできます。システムとセッションの両方のD-Bus、システムジャーナル、Kerberosなどにアクセスすることもできます。

各コンテナには、パッケージマネージャー(DNFなど)を含む一般的なコマンドラインツールが含まれています Fedoraで)。したがって、コンテナ内の任意のソフトウェアをインストールしてテストできます。

たとえば、次のコマンドは必要なすべての開発ツールをインストールします。

$ sudo yum groupinstall "Development Tools"

5.1。特定のコンテナに入る

toolbox enterを実行するとき オプションを指定せずにコマンドを実行すると、デフォルトのツールボックスコンテナが開きます。デフォルトのコンテナは、ホストOSに基づくコンテナです。

別のコンテナを開く場合は、次のようにその名前を明示的に指定してください。

$ toolbox enter -c fedora-toolbox-32

ここでは、-c コンテナ名とfedora-toolbox-32を参照するために使用されます はコンテナ名です。

6。ツールボックスを終了

コンテナを使い終わったら、exitと入力するだけです。 コンテナからログアウトします。

$ exit

7。コンテナに入力せずにコンテナでコマンドを実行する

Toolboxの注目すべき機能は、コンテナーに入力せずにコンテナーでコマンドを実行できることです。次のコマンドは、ホストシステムからのデフォルトコンテナの配布リリースを表示します。

$ toolbox run cat /etc/redhat-release
Fedora release 33 (Thirty Three)

toolbox runを実行するとき オプションを指定せずにコマンドを実行すると、デフォルトのコンテナでコマンドが実行されます。 --containerで名前を指定することにより、他のコンテナーでコマンドを実行することもできます。 、-c フラグ:

$ toolbox run -c fedora-toolbox-32 cat /etc/redhat-release
Fedora release 32 (Thirty Two)

8。コンテナの実行を停止します

コンテナを終了した後、コンテナを停止するまで実行を続けます。実行中のコンテナを停止するための直接的なツールボックスコマンドはありません。ただし、podmanは使用できます ツールボックスコンテナを停止するコマンド:

$ podman container stop fedora-toolbox-33

Toolboxは内部でpodmanを使用していることを忘れないでください。

9。ツールボックスのコンテナと画像を削除する

コンテナまたはそのベースイメージが必要ない場合は、以下のように簡単に削除できます。

コンテナを削除する前に、そのコンテナを終了したことを確認してください。

コンテナを削除するには、次のコマンドを実行します:

$ toolbox rm fedora-toolbox-32

上記のコマンドは、fedora-toolbox-32という名前のコンテナーを削除します 。

実行中のコンテナを強制的に削除するには、--forceを使用します 、-f フラグ:

$ toolbox rm -f fedora-toolbox-32

すべてのコンテナを削除するには、--allを使用します 、-a フラグ:

$ toolbox rm --all

使用可能なコンテナを一覧表示して、コンテナが削除されているかどうかを確認します。

$ toolbox list

同様に、toolbox rmiを使用してツールボックスの画像を削除できます 以下のようなコマンド:

$ toolbox rmi fedora-toolbox:32

iに注意してください 上記のコマンドで。 rm コマンドはコンテナを削除しますが、rmi コマンドは画像を削除します。また、削除する画像の正しい名前を指定することを忘れないでください。

すべての画像を削除するには、--allを使用します 、-a フラグ:

$ toolbox rmi --all

podmanを使用してツールボックスのコンテナと画像を管理する

Toolboxはpodmanの単なるラッパーであるため、podmanコマンドを直接使用してコンテナーを管理できます。

podmanコマンドを使用してツールボックスコンテナを一覧表示するには、次のコマンドを実行します。

$ podman ps -a

podmanでツールボックスの画像を一覧表示するには、次のコマンドを実行します:

$ podman images

コンテナを開始するには:

$ podman start fedora-toolbox-33

実行中のすべてのコンテナのライブリソース使用統計を表示するには:

$ podman stats

コンテナを停止するには:

$ podman stop fedora-toolbox-33

コンテナの検査:

$ podman inspect fedora-toolbox-33

コンテナを削除します:

$ podman rm <container-name>

画像を削除:

$ podman rmi <image-name>

利用可能な多くのpodmanコマンドがあります。 podmanヘルプセクションから利用可能なすべての一般的なコマンドとオプションを表示できます:

$ podman --help

結論

コンテナーは、実験や学習の目的だけでなく、さまざまなOSバージョンでさまざまなプロジェクトに取り組むことができる分離された開発環境にも最適です。 Toolboxを使用すると、コンテナの管理がはるかに簡単になります。


Fedora
  1. Zshの使用を開始する

  2. LinuxでPostgreSQLを使い始める

  3. じゅじゅを始めるには?

  1. GnuCashの使用を開始する

  2. lsの使用を開始する

  3. 相互運用性のためのSambaの使用開始

  1. Etcher.ioを使い始める

  2. 正規表現を使い始める

  3. Tmuxを使い始める