MultipassでM1 MacでもVagrant的にLinux仮想マシンをサクッと立ち上げる

Linuxの仮想環境 on M1(Apple Silicon) Apple SiliconのCPUを搭載したMac(通称"M1 Mac")を購入して、ファンレスでこのパフォーマンス、しかも熱くならない、バッテリー持ちがすごい、何に安い!、などなど、いい意味で衝撃を受けています。 一方で、エンジニア目線で気になるのは、ちゃんと開発ツールが動くのか、だと思います。 特に、LinuxのVM環境は必須で、作っては壊し、壊しては作る(Build & Scrap!)をカジュアルにできないと何かと困ります。これまではVagrant+VirtualBoxでその環境を整えてきたのですが、M1 Macではこれができません。 Multipass そうこうしているうちに、Ubuntuでお馴染みのCanonicalからMultipassというツールが出てきました。これは、Ubuntuに限られるのですが、Vagrant的にLinux VMを作って・壊すというのがすぐにでき、かつ、M1 Macにも対応しているので、Vagrantのワークフローと同様のことがM1 Mac上でできてしまします。 以下、Multipassの簡単な使い方を見ていきます。 Multipassのインストール Multipassの公式ページもしくはgithub Releaseからバイナリ(パッケージ)をダウンロードできます。通常通り、ダブルクリックでインストールできます。 インストール後はターミナルからコマンドを実行して確認できます。 % multipass version multipass 1.8.1+mac multipassd 1.8.1+mac 基本的な使い方 起動・shellログイン・停止・削除など一通りやってみます。 起動 まず、利用可能なUbuntuのversionをリストします。 % multipass find Image Aliases Version Description 18.04 bionic 20220104 Ubuntu 18.04 LTS 20.04 focal,lts 20220118 Ubuntu 20.04 LTS 21.10 impish 20220118 Ubuntu 21.10 LTS(Long Term Support)版と最新のversionは利用可能になっています。 Ubuntuのversionを指定してVMを起動します。指定しない場合は一番新しいLTSが使われるようです。 ## デフォルトのUbuntu LTSで立ち上げる % multipass launch -n my-ubuntu-123 ## Ubuntu focalで立ち上げる % multipass launch -n my-ubuntu-123 focal ## CPU=2コア, RAM=2GB, Disk=10GBで立ち上げる % multipass launch -n my-ubuntu-123 -c 2 -m 2g -d 10g Shellにログインする % multipass shell my-ubuntu-123 ubuntu@my-ubuntu-123:~$ pwd /home/ubuntu ....

January 25, 2022