Multipass: Lightweight Open-Source VM Manager That Outshines VMware
This tutorial introduces Multipass, a free open-source CLI tool from Canonical for quickly creating and managing Ubuntu virtual machines across Linux, Windows, and macOS, covering installation, core commands, cloud-init automation, and a comparison with VMware.
Multipass Overview
Multipass is a lightweight virtual machine command-line management tool developed by Canonical, the company behind Ubuntu. It supports Linux, Windows, and macOS, using native virtualization technologies (KVM on Linux, Hyper-V on Windows, HyperKit on macOS) to launch Ubuntu VMs with minimal resource overhead. The tool is open-source and available at https://github.com/canonical/multipass.
Installation
Download the installer for your platform from the official site: https://multipass.run/install. After installation, verify the version:
$ multipass versionCore Usage
List Available Ubuntu Images
Run multipass find to see available images, including LTS releases (16.04, 18.04, 20.04) and appliance images (AdGuard Home, Mosquitto, Nextcloud, etc.).
Create a VM
Launch a default Ubuntu VM with a custom name:
$ multipass launch --name dg
Launched: dgThis downloads the latest LTS image (18.04.4 LTS in the example) and starts the instance.
Inspect VMs
List running VMs:
Name State IPv4 Image
dg Running 192.168.24.5 Ubuntu 18.04 LTSGet detailed info (CPU load, disk, memory usage):
$ multipass info --all
Name: dg
State: Running
IPv4: 192.168.24.5
Release: Ubuntu 18.04.4 LTS
Image hash: fe3030933742 (Ubuntu 18.04 LTS)
Load: 0.00 0.00 0.00
Disk usage: 1.5G out of 4.7G
Memory usage: 112.1M out of 985.7MAccess the VM
Open an interactive shell: $ multipass shell dg Or run a single command without entering the shell:
$ multipass exec dg -- lsb_release -d
Description: Ubuntu 18.04.4 LTSControl VM State
Stop and start a VM:
# Stop
$ multipass stop dg
# Start
$ multipass start dgDelete and Purge
Deleting a VM retains its data; purging removes it completely:
# Delete (soft)
$ multipass delete dg
# Purge (hard)
$ multipass purge dgAutomation with cloud-init
Use --cloud-init to provision a VM on first boot. Example config.yaml installs Node.js and LeanCLI:
$ multipass launch --name ubuntu --cloud-init config.yaml
# config.yaml
#cloud-config
runcmd:
- curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
- sudo apt-get install -y nodejs
- wget https://releases.leanapp.cn/leancloud/lean-cli/releases/download/v0.21.0/lean-cli-x64.deb
- sudo dpkg -i lean-cli-x64.debThe runcmd section runs specified commands during initial boot, enabling reproducible development environments.
Summary and Limitations
After extended use, the author finds Multipass excellent for quick Linux experiments and local cluster testing (e.g., small database clusters). The main limitation: Multipass only supports Ubuntu images because it is a Canonical project.
References
Official site: https://multipass.run/
Documentation: https://multipass.run/docs/
GitHub repository: https://github.com/canonical/multipass
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
