MultipassでUbuntu仮想マシンを素早く起動する方法

開発者やシステム管理者であれば、テスト用にLinuxディストリビューションを手軽に立ち上げたい場面が多いはずです。Docker、VMware、VirtualBox、Vagrantなど、さまざまなソリューションがありますが、その中でも「Multipass」は、Ubuntu仮想マシンを簡単かつ迅速に起動できる軽量VMマネージャーです。この記事では、その導入手順と具体的な活用方法を解説します。
Multipassのセットアップ方法
MultipassはWindows、macOS、Linux向けに提供されています。WindowsとmacOSの場合は、パッケージをダウンロードして、通常のアプリケーションと同じ要領でインストールするだけです。ただし、WindowsではVirtualBoxまたはHyper-Vが必要となる点に注意してください。なお、Hyper-VはWindows 10 ProおよびWindows 10 Enterpriseでのみ利用可能です。インストールが完了すると、ターミナルからmultipassコマンドを使用できるようになります。
Linuxの場合は、Snapパッケージ経由でインストールします。snapdは各ディストリビューションの公式手順に従って導入できます。
snapdが準備できたら、以下のコマンドでMultipassをインストールします。
sudo snap install multipass --classic
Multipassの基本的な使い方
Multipassのインストール後、次のコマンドで新しいインスタンスを起動できます。
multipass launch --name instance-name

デフォルトでは最新のUbuntu LTS(執筆時点ではUbuntu 20.04)がダウンロードされます。異なる名前を付けて複数のインスタンスを作成し、目的に応じて使い分けることも可能です。作成済みのインスタンス一覧は以下のコマンドで確認できます。
multipass list

さらに、インスタンスはいつでも自由に起動・停止できます。
multipass start instance-name
multipass stop instance-name
Multipassでは、仮想マシン内部に対して直接コマンドを実行することもできます。その際は次のように入力します。
multipass exec instance-name -- sudo apt update
あるいは、インスタンスに「ログイン」して対話的に操作したい場合は、以下のコマンドが便利です。
multipass shell instance-name
シェルから抜けるときはexitと入力してください。
Multipassの活用例
Multipassは、異なるバージョンのUbuntu上でコードをすばやく検証できるため、開発現場で特に重宝します。しかし、それ以外にも便利な使い方がいくつかあります。
macOSでLinux GUIアプリケーションを実行する
XQuartzを利用すれば、macOS上でLinux GUIアプリケーションを表示できます。まずXQuartzの設定で「ネットワーククライアントからの接続を許可」を有効にします。その後、Multipassインスタンス内に表示したいGUIアプリケーションをインストールし、MacのIPアドレスを指定してアプリを起動するよう設定すれば、画面に表示できるようになります。
Pi-holeを構築する
Pi-holeは多くのユーザーに愛用されているネットワーク全体対応の広告ブロッカーです。通常はRaspberry Piを使って構築しますが、追加のハードウェアやソフトウェアに依存せずに済む点で、Multipassインスタンス上にPi-holeをセットアップするほうが手軽なケースもあります。
Windows上にKubernetesクラスタを構築する

Kubernetesを使うと、コンテナ内のワークロードやサービスを一元的に管理でき、システムリソースをより効率的に活用できます。Multipassインスタンス上にMicroK8sをセットアップすれば、WindowsマシンからでもKubernetesによるコンテナデプロイ環境を構築することが可能です。
まとめ
Multipassは、Ubuntu仮想マシンを素早く立ち上げるのに非常に便利なツールです。既存のOS環境を汚すことなくコードをテストできるだけでなく、テスト以外にも日々の作業を楽にしてくれる実用的な用途が数多くあります。
なお、Linux上で仮想マシンを管理したい場合には、「仮想マシンマネージャー(Virtual Machine Manager)」を活用するのも良い選択肢です。
-
【Windows Server 2019】ネステッド仮想化を使って仮想マシン上でHyper-Vを実行する方法
従来の仮想化とネステッド仮想化の違い物理マシンにHyper-Vサーバーの役割やHyper-V Core Serverをインストールする作業は比較的シンプルで、追加の構成が不要なケースも少なくありません。分離された環境を構築する次のステップとして、仮想マシンの展開と構成、ゲストOSのセットアップ、そしてホストするアプリケーションの導入を行います。これが一般的な「従来型の仮想化」です。この場合、物理マシンが抽象化され、そのリソースが仮想マシン上で動作するゲストOSに提供されます。しかし、仮想マシンの内部でさらにHyper-Vを実行したい場合はどうでしょうか。デフォルトの状態ではこれは不可能ですが、
-
Linux上でAndroid-x86とVirtualBoxを使ってAndroidゲームを楽しむ方法
この記事では、Linux上で仮想マシンを活用しながら、お気に入りのAndroidゲームを楽しむ方法を紹介します。Androidスマートフォンをお持ちなら、その中の面白いゲームにハマっている方も多いのではないでしょうか。あるいは、スマホでしか動かないアプリを使いたいというケースもあるかもしれません。そんなとき、ふとこう考えたことはありませんか?――「このゲームやアプリをデスクトップPCでも動かせたらいいのに」と。話をシンプルにするため、ここでは対象をAndroidで動作するアプリケーションに絞って説明します。解決策の一つは、PC上でAndroidエミュレータを実行することです。しかしAndroi