Multipass on macOS 徹底活用 (1) – 軽量 Ubuntu 環境の導入と基本

macOSを使う開発者の皆さん、こんな悩みを抱えていませんか?

  • 「macOS環境を汚さずに、気軽にUbuntu環境を試したい」
  • 「VirtualBoxは便利だけど、リソース消費が気になる…もっと軽量な選択肢はないか?」
  • 「Ubuntuでしか動作しないツールをmacOSで使いたい」

もし一つでも当てはまるなら、ぜひこの記事を役に立ててください。

macOS開発者の多くが、開発環境やOS環境の分離するために仮想化技術を活用しています。しかし、仮想化ツールの設定が複雑だったり、リソースを多く消費したりと、課題ががあるのでないでしょうか。

そこで本記事から始まる連載では、macOS開発者の強力な味方となる「Multipass」を徹底的に解説します。
Multipassとは、Canonical社(Ubuntuの開発元)が提供する、macOS上で軽量なUbuntu仮想マシンを簡単に起動・管理できるツールです。

この連載は、Multipassを使いこなし、macOS開発環境をより快適で効率的なものにすることを狙っています。


対象読者

  • macOSで開発を行っているエンジニア
  • Ubuntu環境を手軽に構築したいと考えている方
  • 仮想化技術やコンテナ技術に興味がある初級〜中級レベルのエンジニア
  • VirtualBoxの代替となる軽量な開発環境を探している方

動作検証環境

この記事で紹介するcurlコマンドの動作は、以下の環境で検証しています。

  • OS : macOS Tahoe Version 26.0
  • ハードウェア : MacBook Air 2024 M3 24GB
  • Multipass : Multipass version 1.16.1

目次

  1. なぜmacOS開発にMultipassが必要なのか?
  2. MultipassのmacOSへのインストール手順
  3. 最初のUbuntuインスタンスを起動してみよう
  4. Multipassのアップデート・アンインストール手順
  5. FAQ
  6. まとめ:次回の記事への展望
  7. 参考資料
  8. 免責事項

1. なぜmacOS開発者にMultipassが必要なのか?

macOSは優れた開発環境ですが、クラウド向けの開発時にはUbuntu環境が必要になることがあります。例えば、Ubuntuでしか動作しないソフトウェアのテスト、本番環境に近い環境での開発、あるいは単に新しい技術を試したい場合などです。

Multipassとは?その魅力とメリット

Multipassは、従来の仮想環境の設定やリソース消費などの課題を解決するために利用できます。一言で言えば、macOS上でUbuntu仮想マシンを「秒速」で起動できるツールです。

Multipassの最大の魅力は、手軽さ軽量性に尽きます!

  • 圧倒的な手軽さ: コマンド一つでUbuntuインスタンスを起動でき、複雑な設定は不要。
  • 軽量: 最小限のリソースで動作。Apple Silicon Macでは、ネイティブに近いパフォーマンスを発揮。
  • Ubuntu公式: Canonical社が提供。、Ubuntuとの親和性が高く、安心して利用可能。
  • 開発環境の分離: macOSをクリーンに、プロジェクトごとに独立した開発環境を構築可能。

従来の仮想化ツールとの比較(VirtualBox, Docker Desktopなど)

Multipassと他の仮想化ツールと比較してみます。メリットがより明確になりますね。

特徴MultipassVirtualBoxDocker Desktop
目的軽量なUbuntu VMの迅速な起動汎用的な仮想マシンの作成・管理コンテナベースの開発環境
手軽さ★★★★★ (コマンド一つでVM起動)★★☆☆☆ (GUIでの設定、OSインストールが必要)★★★★☆ (Dockerイメージの利用は手軽)
軽量性★★★★☆ (最小限のリソース消費)★★★☆☆ (VMのOSリソース消費が大きい)★★★☆☆ (バックグラウンドプロセスがリソース消費)
OSサポートUbuntu (LTS版が中心)多数のOSをサポートコンテナイメージに依存
macOSとの親和性★★★★★ (Apple Siliconに最適化)★★☆☆☆ (Intel Mac向け、Apple Siliconは限定的)★★★★☆ (Apple Silicon対応)
ユースケースLinux開発環境、テスト環境、CLIツール実行異なるOS環境の再現、古いソフトウェア実行コンテナ化されたアプリケーション開発

Multipassは、特に「macOS上で手軽にUnintu開発環境を構築したい」というニーズに特化しており、その点で他のツールよりも優位性があります。
VirtualBoxがGUIであるのに対し、Multipassは軽量な仮想マシンを提供するため、CLIでの操作や、Docker自体を仮想環境内で動かすといった柔軟な使い方も可能です。


2. MultipassのmacOSへのインストール手順

Multipassのインストールは非常に簡単です。主に2つの方法があります。

方法1:公式サイトからのインストーラー利用

Multipassの公式サイトからインストーラーをダウンロードしてインストールします。

  1. 公式サイトへアクセス:
    Multipass公式サイト にアクセスします。
  2. インストーラーのダウンロード:
    「Download Multipass for macOS」 リンクをクリックし、multipass-X.Y.Z+mac-Darwin.pkg ファイルをダウンロードします。ダウンロードサイズは、約125MB程度です。
  3. インストーラーの実行:
    ダウンロードした multipass-X.Y.Z+mac-Darwin.pkg ファイルを開き、画面の指示に従ってインストールを進めます。
  4. インストール確認:
    ターミナルを開き、multipass version コマンドでバージョンを確認します。
multipass version

バージョン情報が表示されれば、インストールは成功です。

コマンド実行例(バージョン情報の確認):

user-name@your-mac ~ % multipass version
multipass   1.16.1+mac
multipassd  1.16.1+mac

方法2:Homebrewを使った簡単なインストール

macOSユーザーであれば、Homebrewを使ったインストールも可能です。

  1. Homebrewのインストール:
    まだHomebrewをインストールしていない場合は、以下のコマンドでインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Multipassのインストール:
    Homebrewがインストールされていれば、以下のコマンドでMultipassをインストールできます。インストール中にmacOSのパスワード入力が求められます。
brew install --cask multipass

コマンド実行例(homebrewを使ったインストール):

user-name@your-mac my_uv_project % brew install --cask multipass
==> **Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/80f95de379d69edb696dd29106**
############################################################################################ 100.0%
==> **Downloading https://github.com/canonical/multipass/releases/download/v1.16.1/multipass-1.16.1+m**
==> **Downloading from https://release-assets.githubusercontent.com/github-production-release-asset/1**
############################################################################################ 100.0%
==> **Installing Cask** **multipass**
==> **Running installer for multipass with `sudo` (which may request your password)...**
Password:
installer: Package name is multipass
installer: Installing at base path /
installer: The install was successful.
🍺  multipass was successfully installed!
==> **No outdated dependents to upgrade!**
NOTE: --cask オプションは、GUIアプリケーションやバイナリパッケージをインストールする際に使用します。Multipassはバックグラウンドで動作するデーモンとCLIツールを提供するため、このオプションが必要です。
  1. インストール確認:
    インストールが完了したら、以下のコマンドでバージョンを確認してみましょう。
multipass version

バージョン情報が表示されれば、インストールは成功です。

コマンド実行例(バージョン情報の確認):

user-name@your-mac ~ % multipass version
multipass   1.16.1+mac
multipassd  1.16.1+mac

3. 最初のUbuntuインスタンスを起動してみよう

Multipassのインストールが完了したら、いよいよ最初のUbuntuインスタンスを起動してみましょう。

multipass launch コマンドの基本

multipass launch コマンドで、新しいUbuntu仮想マシンを起動することができます。

最もシンプルな使い方は以下の通りです。

mulipass launch

このコマンドを実行すると、最新のLTS版Ubuntuがデフォルト設定で起動します。インスタンスには自動的にランダムな名前が割り当てられます。

特定のUbuntuバージョンを指定したい場合は、--name オプションでインスタンス名を、イメージ名を指定します。例えば、Ubuntu 22.04 LTS を起動したい場合は以下のようになります。

mulipass launch 22.04

このコマンドを実行すると、指定したあLTS版Ubuntuがデフォルト設定で起動します。インスタンスには自動的にランダムな名前が割り当てられます。

コマンド実行後、以下のような出力が表示され、新しいUbuntuインスタンスが正常に起動したことを示します。

コマンド実行例(名前の指定なしで、インスタンスを起動した場合):

Launched: <インスタンス名>

ここで表示される <インスタンス名> は、Multipassが自動的に割り当てるランダムな名前です(例: agreeable-llama)。

起動する仮想マシンにインスタンス名をつけたい場合は、--name オプションでインスタンス名を指定します。例えば、Ubuntu 24.04 LTS を起動し、「my-ubuntu-vm」という名前を付けたい場合は以下のようになります。

multipass launch 24.04 -n my-ubuntu-vm

期待される結果:

指定した名前でインスタンスが起動します。

コマンド実行例(名前の指定して、インスタンスを起動した場合):

Launched: my-ubuntu-vm
[TIP]: multipass launch --help を実行すると、利用可能なオプション(CPU数、メモリ量、ディスクサイズ、cloud-initスクリプトの指定など)を確認できます。

multipass find で利用可能なイメージを確認する

multipass launch コマンドでVMを起動する前に、どのようなUbuntuイメージや特定の用途に特化した環境(Blueprint)が利用可能かを確認できます。Blueprintは非推奨となっており、今後利用できなくなる可能性があるため、注意が必要です。

mulipass find

コマンド実行例(利用可能イメージの確認):

Image                       Aliases           Version          Description
22.04                       jammy             20250725         Ubuntu 22.04 LTS
24.04                       noble,lts         20250805         Ubuntu 24.04 LTS
25.04                       plucky            20250924         Ubuntu 25.04
daily:25.10                 questing,devel    20250921         Ubuntu 25.10

Blueprint (deprecated)      Aliases           Version          Description
anbox-cloud-appliance                         latest           Anbox Cloud Appliance
charm-dev                                     latest           A development and testing environment for charmers
docker                                        0.4              A Docker environment with Portainer and related tools
jellyfin                                      latest           Jellyfin is a Free Software Media System that puts in control of managing and streaming your media.
minikube                                      latest           minikube is local Kubernetes
ros2-humble                                   0.1              A development and testing environment for ROS 2 Humble.
ros2-jazzy                                    0.1              A development and testing environment for ROS 2 Jazzy.

出力の解説:
Multipassで利用可能な仮想マシンイメージの一覧を表示しています。

  • Image セクション: 標準的なUbuntuのバージョンイメージがリストされます。
    • Image: Ubuntuのバージョン番号(例: 22.04, 24.04)。daily: が付いているものは開発中の最新版を示します。
    • Aliases: そのイメージに付けられた別名(例: jammy, noble, lts)。これらのエイリアスを使って multipass launch でイメージを指定できます。
    • Version: イメージがビルドされた日付。
    • Description: イメージの簡単な説明。
  • Blueprint (deprecated) セクション: 特定のソフトウェアや環境があらかじめ設定されたイメージがリストされますが、現在は非推奨 (deprecated) となっています。これは、将来的にこの形式の提供が終了する可能性があることを意味します。
    • Blueprint (deprecated): 特定の用途に特化したイメージの名前。
    • Aliases: Blueprintの別名。
    • Version: Blueprintのバージョン。
    • Description: Blueprintの簡単な説明。

インスタンスの確認と接続 (multipass list, multipass shell)

インスタンスが起動したら、その状態を確認し、接続してみましょう。

  1. インスタンスの確認:
    現在起動している、または停止しているMultipassインスタンスの一覧を確認するには、multipass list コマンドを使用します。
multipass list

コマンド実行例(インスタンスの確認):

Name                    State             IPv4             Image
my-ubuntu-vm            Running           192.168.64.2     Ubuntu 24.04 LTS

Name はインスタンス名、State は状態(Running, Stoppedなど)、IPv4 はIPアドレス、Image は使用しているUbuntuのバージョンを示します。

  1. インスタンスへの接続:
    起動したインスタンスにSSHで接続するには、multipass shell コマンドを使用します。インスタンス名を指定します。
multipass shell my-ubuntu-vm

これで、あなたのMacのターミナルから、起動したUbuntu仮想マシンにログインできました。通常のLinuxコマンドを実行できます。

ubuntu@my-ubuntu-vm:~$ ls -la
ubuntu@my-ubuntu-vm:~$ sudo apt update

インスタンスからログアウトするには、exit コマンドを入力します。

ubuntu@my-ubuntu-vm:~$ exit
logout

4. Multipassのアップデート・アンインストール手順

Multipassのアップデート

インストール方法に応じて、以下のいずれかの方法でアップデートできます。

方法1:公式サイトのインストーラーでインストールした場合

公式サイトからインストーラーをダウンロードしてインストールした場合は、最新版のインストーラーを再度ダウンロードし、実行することでアップデートできます。

  1. Multipass公式サイトへアクセス:
    Multipass公式サイト にアクセスします。
  2. 最新版インストーラーのダウンロード:
    「Download Multipass for macOS」リンクをクリックし、最新版の multipass-X.Y.Z+mac-Darwin.pkg ファイルをダウンロードします。(X.Y.Zはバージョン番号)
  3. インストーラーの実行:
    ダウンロードしたファイルを再度実行し、画面の指示に従ってインストールを進めます。既存のインストールが上書きされ、最新版にアップデートされます。
  4. アップデート確認:
    ターミナルで multipass version コマンドを実行し、バージョンが更新されていることを確認します。

Homebrewでインストールした場合

HomebrewでMultipassをインストールした場合は、以下のコマンドで簡単にアップデートできます。

brew upgrade multipass

Multipassのアンインストール

Multipassが不要になった場合は、以下の手順でアンインストールできます。

公式サイトのインストーラーでインストールした場合

公式サイトからインストーラーをダウンロードしてインストールした場合は、以下の手順で手動でアンインストールします。

  1. 実行中のインスタンスの停止と削除(オプション):
    必要なデータをバックアップしてから、すべてのMultipassインスタンスを停止し、削除します。
mulipass stop --all
mulipass delete --all
mulipass purge
  1. 方法1:Multipassアプリケーションの削除:
    アプリケーション フォルダから Multipass アプリケーションをゴミ箱にドラッグして削除します。
  2. 方法2:アンインストールスクリプトの実行:
    以下のコマンドを実行してMultipassに関連するファイルを削除します。
sudo sh "/Library/Application Support/com.canonical.multipass/uninstall.sh"
  1. アンインストール確認:
    ターミナルで multipass version コマンドを実行し、「command not found」のようなエラーが表示されれば、アンインストールは成功です。

Homebrewでインストールした場合

HomebrewでMultipassをインストールした場合は、以下のコマンドでアンインストールできます。

brew uninstall --cask multipass

このコマンドは、Multipassアプリケーションと関連ファイルを削除します。


5. FAQ

Q1: MultipassはApple Silicon Macでも動作しますか?

はい、MultipassはApple Silicon Macに最適化されており、非常に高速に動作します。内部的にはmacOSのVirtualization.frameworkを利用しているため、高いパフォーマンスを発揮します。

Q2: 起動したインスタンスのIPアドレスが毎回変わるのですが、固定できますか?

Multipassのデフォルト設定では、インスタンスのIPアドレスはDHCPによって割り当てられるため、再起動などで変わる可能性があります。IPアドレスを固定する直接的なオプションは提供されていませんが、cloud-init を利用して起動時にネットワーク設定を行う、あるいはホストOSの /etc/hosts ファイルにエントリを追加して名前解決で対応するなどの方法が考えられます。

Q3: 複数のインスタンスを同時に起動できますか?

はい、可能です。Macのリソースが許す限り、複数のMultipassインスタンスを同時に起動し、それぞれ独立した環境として利用できます。例えば、開発用、テスト用、特定のツール試用用など、用途に応じてインスタンスを使い分けることができます。


6. まとめ:次回の記事への展望

この記事では、macOS開発者にとってMultipassの魅力とメリットの解説、実際にmacOSへのインストールから最初のUbuntuインスタンスの起動、そして接続までを体験しました。

次回の記事では、今回起動したMultipassインスタンスをさらに深く使いこなすための「インスタンス管理とファイル共有の極意」について解説します。

https://www.visionnurture.com/mac-multipass_guide_for_beginner_002


インスタンスの起動・停止・削除といったライフサイクル管理から、macOSとUbuntuインスタンス間でファイルを効率的に共有する方法まで、実践的な内容をお届けします。

Multipassを使いこなして、あなたのmacOS開発環境を次のレベルへ!全6回の連載を購読して、最新情報を手に入れよう!

この記事が役に立ったら、ぜひチームに共有したり、X(旧Twitter)で感想をポストしてください!


7. 参考資料


8. 免責事項

本記事の内容は、執筆時点での情報に基づいています。ソフトウェアのバージョンアップなどにより、手順や挙動が異なる場合があります。本記事の内容を参考に作業を行う際は、ご自身の責任において実施してください。


SNSでもご購読できます。

コメントを残す

*