Fedoraを使っているのに、なぜDistroboxが必要なのか?
私はFedora Workstationを2年以上愛用しています。このOSは、仕事に十分な安定性と、最新技術を体験できる新しさが絶妙なバランスで保たれています。しかし、技術者であれば、AUR(Arch Linux)にしかないツールが必要だったり、Ubuntu 18.04時代の古いPythonライブラリを動かさなければならなかったりといった「行き詰まり」を感じることがあります。
以前は、VirtualBoxやデュアルブートで対処していました。しかし、仮想マシンは起動するだけで少なくとも4GBのRAMを消費し、デュアルブートはOSを切り替えるたびにコーディングの流れが途切れてしまいます。PodmanやDockerも良い選択肢ですが、GUIを表示させたりホームディレクトリのファイルにアクセスしたりするのは、設定がかなり面倒です。
Distroboxは、これらの問題を根本的に解決します。本質的にはPodmanやDocker上で動作するラッパーであり、Fedoraのターミナル内にUbuntu、Arch、Kaliなどの環境を構築できます。最大の特徴は、ホームディレクトリを自動的にマウントすることです。Fedora上のVS Codeでファイルを開き、瞬時にUbuntu의 コンパイラでビルドするといったことが可能です。
DistroboxとPodmanのクイックインストール
FedoraにおいてPodmanはRed Hatが強力にサポートしている推奨ツールであり、ルートレス(rootless)で非常に安全に動作します。DistroboxはPodmanのパワーを借りてコンテナを管理します。
ターミナルを開き、以下のインストールコマンドを入力します:
sudo dnf install distrobox podman -y
次に、バージョンを確認して準備が整っているかチェックしましょう:
distrobox --version
通常、FedoraではPodmanの設定が済んでいるため、インストール後すぐに使い始めることができ、複雑なサービスのセットアップは不要です。
最初のコンテナの作成と使用方法
例えば、古いスクリプトをテストするためにUbuntu 22.04環境が必要だとします。OSを再インストールする代わりに、コマンド一行でUbuntuを「召喚」してみましょう。
1. 新しいコンテナの作成
distrobox createコマンドを使用して初期化します。ここでは名前をubuntu-devとします:
distrobox create -n ubuntu-dev -i docker.io/library/ubuntu:22.04
このコマンドはDocker Hubからイメージをダウンロードします。Ubuntuのベースイメージは約75MBと、一般的な仮想マシンのISOファイルに比べて数十倍も軽量です。
2. 環境へのアクセス
作業を開始するには、enterコマンドを使用します:
distrobox enter ubuntu-dev
初回実行時は、ユーザーの同期と基本的なパッケージ構成に約1分かかります。プロンプトにuser@ubuntu-devと表示されれば、Fedoraの中にいながらUbuntu環境に入ったことになります。
ここでは、自由にapt updateやapt installを実行できます。これらの変更はすべてコンテナ内で行われるため、メインのFedoraシステムを汚すことはありません。
3. アプリをFedora의 メニューに書き出す(Export)
これが最も価値のある機能です。例えば、Ubuntuにdeb版のMicrosoft Edgeをインストールし、それをFedoraのGNOMEメニューから起動したいとします。
まずコンテナ内にアプリをインストールします:
sudo apt update && sudo apt install wget -y
wget https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_110.0.1587.41-1_amd64.deb
sudo apt install ./microsoft-edge-stable_110.0.1587.41-1_amd64.deb
次に、そのコンテナ内で以下のコマンドを実行してアプリをエクスポートします:
distrobox-export --app microsoft-edge-stable
これで、Windowsキーを押して「Edge」と入力すればアプリが表示されます。クリックすると、Fedoraがバックグラウンドで自動的にコンテナを起動し、ブラウザを立ち上げます。直接インストールしたアプリと変わらないスムーズな体験が可能です。
システムの管理とクリーンアップ
複数のコンテナ(例:AUR用のArch、サーバーテスト用のDebianなど)を使用する場合、リソースの管理方法を知っておく必要があります。
コンテナリストの表示
以下のコマンドで、現在どのOSが入っているか確認できます:
distrobox list
リソース消費の確認
コンテナベースなので、Podmanのコマンドを使って実際に占有しているRAM容量を確認できます:
podman stats
動作が重いと感じた場合は、distrobox stop [名前]でコンテナを停止させ、すぐにRAMを解放できます。
不要になった時の削除
使い終わったら、ディスク容量を確保するためにクリーンアップしましょう:
distrobox rm ubuntu-dev
注意:このコマンドは仮想OSを完全に削除しますが、ホームディレクトリ内のファイルは安全です。これはDistroboxのスマートなデータ共有メカニズムによるものです。
Distroboxを使えば、Fedoraの安定性を犠牲にすることなく、あらゆるLinuxディストリビューションのソフトウェア資産を活用できます。開発者の方でライブラリの競合に悩まされているなら、ぜひこのツールを試してみてください。ワークフローがよりプロフェッショナルで整理されたものになるはずです。

