皆さん、こんにちは。アストラです。
多くの方が複数の異なるプロジェクトを同時に進めていて、それぞれに異なる依存関係があったり、場合によっては異なるLinuxディストリビューションが必要だったりすると思います。これらを管理するのはすぐに頭痛の種になりがちなので、私はワークフローにDistroboxを取り入れて助けてもらっています。今日はその設定方法と使い方についてお話ししたいと思います。
Distroboxとは?
Distroboxは、異なるLinuxディストリビューションを使ったコンテナ化された開発環境を作成・管理できるツールです。Dockerのようなコンテナ技術を活用し、プロジェクトごとに隔離された環境を提供することで、依存関係の管理や競合の回避を容易にします。
また、通常のターミナルセッションで期待されるホームディレクトリへのアクセスも維持されているため、ホストシステムとコンテナ間でファイルを簡単に共有でき、移行も非常にスムーズです。GUIアプリケーション(X11/Wayland)、外部USBデバイスなどもサポートされています。
インストール
まずはLinuxが動作するコンピュータが必要です。ほとんどのメジャーディストリビューションがベースとして使えますが、このチュートリアルではFedora 42を使用します。
最初にDistroboxをインストールします。Fedoraの場合、以下のコマンドでインストール可能です:
1 |
sudo dnf install distrobox |
他のディストリビューションでも、パッケージマネージャーを使ってdistrobox
というパッケージをインストールできるはずです。もしできない場合は、以下のコマンドを使う方法もありますが、こちらはややリスクがあるため注意してください:
1 |
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh |
このコマンドは最新のDistroboxをダウンロードしてシステムにインストールします。実行前にスクリプトの内容を確認することをおすすめします。root権限で実行されるためです。
また、システムには対応するコンテナランタイムが必要です。特にpodman
、lilipod
、またはdocker
のいずれかが必要です。インストールされていない場合は、それぞれの公式サイトの手順に従って導入してください。
どれを選べばいいか迷ったら、最も普及しておりドキュメントも豊富なDockerを選ぶのが無難です。Dockerのインストール方法はDockerエンジンのインストールページや、デスクトップ版を使いたい場合はDocker Desktopのインストールページを参照してください。
Distroboxが正しくインストールされているか確認するには、以下のコマンドを実行します:
1 |
distrobox --version |
インストールされているDistroboxのバージョンが表示されれば成功です。
Distroboxの作成
Distroboxがインストールできたら、新しいDistrobox環境を作成できます。distrobox-create
コマンドを使います。このコマンドは特定のLinuxディストリビューションを使った新しいコンテナ環境を作成します。
例えば、Ubuntu 22.04を使った新しいDistrobox環境を作成するには、以下のコマンドを実行します:
1 |
distrobox-create -i ubuntu:22.04 -n my-ubuntu-box |
これでmy-ubuntu-box
という名前のUbuntu 22.04環境が作成されます。ubuntu:22.04
の部分は、fedora:41
やdebian:12
など、使いたい他のディストリビューションイメージに置き換え可能です。Arch Linuxのようなローリングリリースディストリビューションの場合は、archlinux:latest
を使えます。
利用可能なイメージの一覧は、DistroboxのGitHubリポジトリにある互換性リストを参照してください。
Distroboxは他のOCIコンテナイメージも扱えますが、公式にはサポートされていないため、自分で環境設定を行う必要があります。
Distroboxの使用
Distrobox環境を作成したら、distrobox-enter
コマンドでその環境に入って作業を始められます。
例えば、先ほど作成したmy-ubuntu-box
環境に入るには、ターミナルで以下のコマンドを実行します:
1 |
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公式ドキュメントもぜひご覧ください。ここで紹介しきれなかった強力な機能もたくさんあります。