Canonical Multipass This note was created on 2023-02-03 This note was last edited on 2023-02-03 Multipass is a tool to generate cloud-style Ubuntu VMs quickly on Linux, macOS, and Windows. It gives you a simple but powerful CLI that allows you to quickly access an Ubuntu command line or create your own local mini-cloud. === How to install === Install Multipass: # snap install multipass multipass-sshfs === How to use Multipass === Create instance: $ multipass launch --name box Start existing instance: $ multipass start box Suspend instance: $ multipass suspend box Stop instance: $ multipass stop box List instances: $ multipass list Run single command: $ multipass exec box pwd Run command with arguments: $ multipass exec box -- lsb_release -a Connect to shell: $ multipass shell box Transfer files: $ multipass transfer ./Keys/projectname/* box:/home/ubuntu/Keys/ Mount directory: $ multipass mount ./Development/ProjectName box:/home/ubuntu/Development Unmount directory: $ multipass umount box:/home/ubuntu/Development === Primary instance === When launching the primary instance, whether implicitly or explicitly, Multipass automatically mounts the calling user’s home inside it, in the folder Home. As with any other mount, it can be unmounted with multipass umount. For instance, multipass umount primary will unmount all mounts made by Multipass inside primary, including the auto-mounted Home. Set primary instance: $ multipass set client.primary-name=box Launch primary instance: $ multipass start === Aliases === List aliases: $ multipass aliases Create alias: $ multipass alias box:ls lsbox Remove alias: $ multipass unalias lsbox Execute alias: $ multipass lsbox Execute alias with arguments: $ multipass lsbox -- -l === Cleanup === Delete instance (could be seen in "list"): $ multipass delete box Restore instance after deleting: $ multipass recover box Completely delete instance: $ multipass delete --purge box Completely remove all deleted instances: $ multipass purge === Additional configuration === View instance stats: $ multipass info box Get additional configuration: $ multipass get local.box.cpus $ multipass get local.box.memory $ multipass get local.box.disk Change configuration: $ multipass set local.box.cpus=1 $ multipass get local.box.memory=4G $ multipass get local.box.disk=60G