Multipass [Link] is not a Hypervisor, it is a tool to quickly and easily start fresh Ubuntu VMs (Virtual Machines) using the Native hypervisor of the OS (Operations System) or LXC in on Linux (very much recommended).

This is a straightforward tool for launching disposable instances for developments and tests but is not recommended for production except for non-mission critical workloads.

Find out more info in this post about Snap vs Docker vs Multipass [Link].


INSTALLING

sudo apt update
sudo apt install snapd
sudo snap install multipass --classic

It is recommended for Linux systems to have LXD installed so it deploys system containers instead of visual machines:

sudo snap install lxd
sudo snap connect multipass:lxd lxd
sudo multipass set local.driver=lxd

GUI

The graphic user interface was released in late July 2024. It provides a pretty good (and visual) user experience.

See the example below what the home page looks like.

By clicking on the settings button (gear icon) a custom name and values for CPU, RAM, and Disk size can be tweaked.

The “Launch” button will take care of everything and the progress is way better than the CLI experience.

Voilà!

The “Actions” menu contains the basic controls of the instance for starting, stopping, suspending, and discarding (deleting).


USING

Searching for Images

multipass find

Guess what? There is only images of Ubuntu. What a surprise!

Launching Instance –  Automatically downloads and runs.

multipass launch lts --name web-server
multipass launch jammy --name ftp-server
multipass launch 20.04 --name db-server

  • Optional Parameters
    • –cpu 2
    • –mem 2G
    • –disk 20G
    • –mount /Host_Pat­h:/Guest_Path
    • –bridged

Gathering Information

multipass list
multipass info

Executing Commands and Getting Shells

multipass exec web-server -- lsb_release -a
multipass exec ftp-server -- cat /etc/os-release
multipass shell db-server

Managing Instances

Operating

multipass stop web-server ftp-server
multipass start web-server
multipass delete web-server db-server
multipass purge

Modifying

multipass stop ftp-server
multipass set local.ftp-server.cpus=4
multipass set local.ftp-server.disk=50G
multipass set local.ftp-server.memory=4G

Backups and Snapshots

multipass snapshot ftp-server
multipass list --snapshots
multipass restore ftp-server.snapshot1
multipass delete ftp-server.snapshot1

Creating Aliases

Alias is a great feature that allow running commands inside a guest as if they were on the host.

multipass alias ftp-server:htop
htop
multipass aliases
multipass unalias htop
multipass unalias --all

Configuring Bridge

multipass networks
multipass set local.driver=virtualbox
multipass set local.bridged-network=en0

Note: the first command will set the driver Multipass will use to communicate with the network adapters. On MacOS it used VirtualBox’s drivers. The second command will inform what is the bridge attached to (on MacOS en0 is Wi-Fi, and en1 is Ethernet).

Taskbar Integration

Deploy a new instance with literally a single click:

Uninstalling Multipass

sudo snap remove multipass

Good luck with your projects!