Fedora上でUbuntuやArchのアプリを動かす:Distrobox完全活用ガイド

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

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 updateapt 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ディストリビューションのソフトウェア資産を活用できます。開発者の方でライブラリの競合に悩まされているなら、ぜひこのツールを試してみてください。ワークフローがよりプロフェッショナルで整理されたものになるはずです。

Share: