Distroboxを使ったマルチプロジェクト開発環境の構築

皆さん、こんにちは。アストラです。

多くの方が複数の異なるプロジェクトを同時に進めていて、それぞれに異なる依存関係があったり、場合によっては異なるLinuxディストリビューションが必要だったりすると思います。これらを管理するのはすぐに頭痛の種になりがちなので、私はワークフローにDistroboxを取り入れて助けてもらっています。今日はその設定方法と使い方についてお話ししたいと思います。

Distroboxとは?

Distroboxは、異なるLinuxディストリビューションを使ったコンテナ化された開発環境を作成・管理できるツールです。Dockerのようなコンテナ技術を活用し、プロジェクトごとに隔離された環境を提供することで、依存関係の管理や競合の回避を容易にします。

また、通常のターミナルセッションで期待されるホームディレクトリへのアクセスも維持されているため、ホストシステムとコンテナ間でファイルを簡単に共有でき、移行も非常にスムーズです。GUIアプリケーション(X11/Wayland)、外部USBデバイスなどもサポートされています。

インストール

まずはLinuxが動作するコンピュータが必要です。ほとんどのメジャーディストリビューションがベースとして使えますが、このチュートリアルではFedora 42を使用します。

最初にDistroboxをインストールします。Fedoraの場合、以下のコマンドでインストール可能です:

他のディストリビューションでも、パッケージマネージャーを使ってdistroboxというパッケージをインストールできるはずです。もしできない場合は、以下のコマンドを使う方法もありますが、こちらはややリスクがあるため注意してください:

このコマンドは最新のDistroboxをダウンロードしてシステムにインストールします。実行前にスクリプトの内容を確認することをおすすめします。root権限で実行されるためです。

また、システムには対応するコンテナランタイムが必要です。特にpodmanlilipod、またはdockerのいずれかが必要です。インストールされていない場合は、それぞれの公式サイトの手順に従って導入してください。

どれを選べばいいか迷ったら、最も普及しておりドキュメントも豊富なDockerを選ぶのが無難です。Dockerのインストール方法はDockerエンジンのインストールページや、デスクトップ版を使いたい場合はDocker Desktopのインストールページを参照してください。

Distroboxが正しくインストールされているか確認するには、以下のコマンドを実行します:

インストールされているDistroboxのバージョンが表示されれば成功です。

Distroboxの作成

Distroboxがインストールできたら、新しいDistrobox環境を作成できます。distrobox-createコマンドを使います。このコマンドは特定のLinuxディストリビューションを使った新しいコンテナ環境を作成します。

例えば、Ubuntu 22.04を使った新しいDistrobox環境を作成するには、以下のコマンドを実行します:

これでmy-ubuntu-boxという名前のUbuntu 22.04環境が作成されます。ubuntu:22.04の部分は、fedora:41debian:12など、使いたい他のディストリビューションイメージに置き換え可能です。Arch Linuxのようなローリングリリースディストリビューションの場合は、archlinux:latestを使えます。

利用可能なイメージの一覧は、DistroboxのGitHubリポジトリにある互換性リストを参照してください。

Distroboxは他のOCIコンテナイメージも扱えますが、公式にはサポートされていないため、自分で環境設定を行う必要があります。

Distroboxの使用

Distrobox環境を作成したら、distrobox-enterコマンドでその環境に入って作業を始められます。

例えば、先ほど作成したmy-ubuntu-box環境に入るには、ターミナルで以下のコマンドを実行します:

初めて環境に入る際は、コンテナ内のユーザー用にパスワード設定を求められることがあります。これは一度きりの設定で、利便性のためにホストシステムと同じパスワードを使っても構いません。

Distrobox環境内では、通常のLinuxシステムと同様にパッケージのインストールやコマンドの実行、プロジェクト作業が可能です。

DistroboxとVisual Studio Codeの連携

Visual Studio Code(VS Code)は人気のコードエディタで、Distroboxと簡単に連携できます。これにより、Distrobox環境内でネイティブに動作しているかのようにVS Codeを使うことができ、シームレスな開発体験を提供します。

設定は非常に簡単で、主にVS CodeにDev Containers拡張機能をインストールするだけです。この拡張機能を使うと、コンテナ内のフォルダを開いてローカルフォルダのように作業できます。

拡張機能をインストールすると、VS Codeの左サイドバーに新しい「PCモニター」アイコンが表示されます。これをクリックするとRemote Explorerが開き、Distrobox環境の一覧が表示されます。

環境に接続するには、目的の環境にマウスを合わせて、現在のVS Codeウィンドウに接続する矢印アイコンか、新しいVS Codeウィンドウを開くプラスアイコンをクリックします。

まとめ

今回のブログ投稿では、Distroboxの設定方法と使い方を学びました。これを活用することで、依存関係の調整にかける時間を減らし、プロジェクトに集中する時間を増やせるはずです。

異なる依存関係を持つ複数のプロジェクトを扱う場合でも、新しいLinuxディストリビューションを試したい場合でも、Distroboxは作業を管理しやすくする隔離環境を簡単に作成できます。

さらに詳しい使い方や高度な設定については、Distrobox公式ドキュメントもぜひご覧ください。ここで紹介しきれなかった強力な機能もたくさんあります。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG