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_Path:/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!