I recently needed to run Linux so I could test out what Python version was installed, and how to upgrade it for some documentation I’m creating.
I don’t have a spare machine to set up as a Linux box, and didn’t want to use a Raspberry Pi, I wanted a clean Ubuntu install.
My original thought was to use VMWare Fusion Player, and spin up a VM, but things got a bit tricky - I installed it, created a new Ubuntu VM, and it just didn’t work. It didn’t have any install media, and just failed to boot. I’m not sure why, I just assumed ‘Create an Ubuntu VM’ would just work…
So digging for an ISO, I cam across another method to install - Multipass from Canonical. No, this isn’t cheap movie tickets, instead its a free way to manage VMs using the hypervisor built into your OS - Hyper-V on Windows, QEMU and HyperKit on macOS and LXD on Linux.
Installing Multipass
Multipass was easy to install on my Mac - it can be installed via homebrew:
brew install --cask multipass
==> Downloading https://github.com/canonical/multipass/releases/download/v1.11.0
==> Downloading from https://objects.githubusercontent.com/github-production-rel
######################################################################## 100.0%
==> Installing Cask multipass
==> Running installer for multipass; your password may be necessary.
Package installers may write to any location; options such as `--appdir` are ignored.
Password:
installer: Package name is multipass
installer: Installing at base path /
installer: The install was successful.
🍺 multipass was successfully installed!
I had to enter my password (which makes sense as this installs some OS level stuff), but in a few seconds it was installed.
Creating a VM
Creating a new VM is easy - just one command to create and launch it:
multipass launch
This takes a loooooooong time the first time as it needs to download an image and create the new VM. Once the VM is created it will launched given a two-word name.
➜ ~ multipass launch
Launched: disarming-woodcock
You can get more info on the VM using the info
command with the instance name:
➜ ~ multipass info disarming-woodcock
Name: disarming-woodcock
State: Running
IPv4: 192.168.64.2
Release: Ubuntu 22.04.1 LTS
Image hash: 8593ce1c6bbd (Ubuntu 22.04 LTS)
CPU(s): 1
Load: 0.27 0.17 0.07
Disk usage: 1.4GiB out of 4.7GiB
Memory usage: 149.2MiB out of 962.7MiB
Mounts: --
Once the VM is running, you can log in to it using the shell
command with the instance name:
multipass shell disarming-woodcock
Done! I now have an Ubuntu VM ready to play with.