ウェブサイト検索

DistroBox – Linux ターミナル内であらゆる Linux ディストリビューションを実行


Distrobox は、Docker またはPodman を使用してお気に入りの Linux ディストリビューション上でコンテナを作成および管理できる気の利いたツールです。起動されたコンテナはホスト システムと高度に統合され、これによりユーザーのホーム ディレクトリを外部ストレージ、USB デバイス、グラフィカル アプリケーションと共有できるようになります。

DistroboxOCI イメージに基づいており、podman および OCI 標準コンテナ テクノロジの上に構築されたToolBox と同様の概念を実装しています。

このガイドでは、DistroBox をインストールして Linux ターミナル内で Linux ディストリビューションを実行する方法を説明します。このガイドではFedora 34 を実行しています。

前提条件

続行する前に、次のものが揃っていることを確認してください。

  • podman の最小バージョン: 2.1.0 または docker バージョン: 18.06.1。

ステップ 1: Linux システムに DistroBox をインストールする

DistroBox のインストールは簡単です。次のcurlコマンドを実行するだけで、インストールスクリプトがダウンロードされて実行されます。

curl https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

Fedora では、DistroBoxCopr リポジトリから入手できます。したがって、Fedora でCopr リポジトリを有効にします。

sudo dnf copr enable alciregi/distrobox

Copr リポジトリが追加されたら、DNF パッケージ マネージャーを使用してDistrobox をインストールします。

sudo dnf install distrobox

ステップ 2: イメージからコンテナを作成する

Distrobox がインストールされたら、コンテナの作成と実行を開始できるようになります。イメージをプルし、イメージからコンテナを実行するには、次のようにdistrobox-create コマンドを使用します。

distrobox-create --name container-name --image os-image:version

この例では、Debian 10 イメージから debian10-distrobox というコンテナを作成しています。

distrobox-create --name debian10-distrobox --image debian:10

このコマンドはDocker Hub からDebian 10 イメージを取得し、debian10-distrobox というコンテナを作成します。

Distrobox コンテナーでサポートされているオペレーティング システムとバージョンの完全なリストを取得するには、Distrobox プロジェクト ページにアクセスしてください。

Distrobox で作成されたコンテナーを一覧表示するには、次のコマンドを実行します。

distrobox-list

ステップ 3: Distrobox コンテナへのアクセス

新しく作成した Linux コンテナのシェルにアクセスするには、次のように distrobox-enter コマンドを使用します。

distrobox-enter --name container-name

たとえば、コンテナにアクセスするには、次のコマンドを実行します。

distrobox-enter --name debian10-distrobox

ここから、コンテナ内でコマンドを実行できます。たとえば、次のコマンドは OS のバージョンを確認します。

cat /etc/os-release

アプリケーションをインストールすることもできます。ここでは、Neofetch ユーティリティ ツールをインストールします。

sudo apt install neofetch

Neofetch がインストールされたら、次のように起動します。

ステップ 4: Distrobox コンテナーでコマンドを実行する

示されている構文を使用してシェルにアクセスする代わりに、Distrobox コンテナーでコマンドを直接実行できます。

distrobox-enter --name container-name  -- command

次のコマンドでは、コンテナの稼働時間を表示し、パッケージ リストを更新しています。

distrobox-enter --name debian10-distrobox -- uptime
distrobox-enter --name debian10-distrobox -- sudo apt update

ステップ 5: アプリケーションをコンテナからホストにエクスポートする

Distrobox コンテナ内にホスト システムに移植したいアプリケーションがある場合は、distrobox-export コマンドを使用して移植できます。まず、コンテナのシェルにアクセスします。

distrobox-enter --name container-name

ここでは、スクリーンショットを撮るための無料のオープンソースのクロスプラットフォーム ツールである Flameshot をインストールします。

sudo apt install flameshot

アプリケーションをFedoraにエクスポートするには、次のコマンドを実行します。

distrobox-export --app flameshot

コンテナーを終了するには、次を実行します。

logout

ここでFedora ホスト システムに戻ります。アプリケーションの存在を確認するには、次のようにアプリケーション メニューを使用してアプリケーションの検索を実行します。

ステップ 6: Distrobox コンテナのクローンを作成する

場合によっては、コンテナー イメージの複製またはクローンの作成が必要になることがあります。これを実現するには、まず、podman コマンドを使用して実行中のコンテナを停止します。

podman stop container_ID

コンテナ ID を取得するには、podman ps コマンドを実行して、現在実行中のコンテナを一覧表示します。

podman ps

コンテナが停止したら、次のように複製を作成できます。この例では、debian10-distrobox ディストリビューションボックスをdebian-10-clone というクローンに複製します。

distrobox-create --name debian-10-clone --clone debian10-distrobox

クローンが作成されたことを確認するには、図のように Distrobox コンテナーを一覧表示します。

distrobox-list

ステップ 7: Fedora での Distrobox の管理

この最後のセクションでは、podman を使用してコンテナを管理する方法について簡単に説明します。

すべてのアクティブなコンテナをリストするには、次を実行します。

podman ps

アクティブなコンテナと終了したコンテナの両方の実行中のすべてのコンテナを一覧表示するには、次のコマンドを実行します。

podman ps -a

コンテナを停止するには、次のコマンドを実行します。

podman stop container_ID

コンテナを取り外す場合は、必ずコンテナを停止してから取り外してください。

podman stop container_ID
podman rm  container_ID

結論

Distrobox は、ソフトウェア アプリケーションとの上位互換性と下位互換性を可能にする便利なユーティリティで、sudo 権限を必要とせずにコンテナの形式でさまざまなLinux ディストリビューションを試すこともできます。