How to install Multipass on macOS

Thanks for improving the documentation!
It should help many developers. :slight_smile:

By the way, you’ve left off the “cask” part of the uninstall commands, so they don’t work, and give an “Error: Unknown command: zap” message, which isn’t very helpful. It’s brew cask uninstall multipass and brew cask zap multipass. Otherwise, thanks for the info!

1 Like

Hi @henryschreineriii sorry about that, thanks for noticing! Updated the post.

1 Like

Hi, many thanks for the tool and documentation.

Two things come to my mind:

  1. Could you provide information here (as on the Windows installation page) which prerequisites, especially virtualisation methods are used/available?

  2. With the 1.0 release of today, can you update the output of multipass version at this page?

Thanks

Hi @sven, I’ve now made the changes you mentioned. Thanks for prompting :).

1 Like

3 posts were split to a new topic: Minimum macOS version for Multipass?

If you did not use brew to install you can uninstall from macOS like this:

sudo sh “/Library/Application Support/com.canonical.multipass/uninstall.sh”

We have received an issue on the website about this content.

TLDR;
Homebrew sends GA events. Which can be disabled but the user needs to know-how. I would suggest adding a small comment with a link to docs to disable analytics.

Is there a way to install multipass from the source code on macOS?

The brew command you guys specify in the documentation is outdated.

to install run

brew install --cask multipass

Hi @apagiaro, we’re keeping some macOS and Windows parts closed-source for now, so no, we don’t currently provide a way to build or install from source on those platforms.

Hi @undefynd, thanks for point that out. I have just updated those commands.

I think the uninstall command to zap is

brew uninstall --zap --cask multipass

Doesn’t look it:

Error: invalid option: --zap

After installing with brew and adding my user to the admin group, I still need a sudo to use multipass, otherwise

$ multipass shell charm-dev-29                                                                                                                                                      
shell failed: The client is not authenticated with the Multipass service.
Please use 'multipass authenticate' before proceeding.

And authenticate doesn’t seem to work: the passphrase gets rejected:

$ sudo multipass authenticate
Password:
Please enter passphrase: 
authenticate failed: Passphrase is not set. Please `multipass set local.passphrase` with a trusted client.

What’s a trusted client?

Hey @leon-mintz, have a look at at these docs on security and how to authenticate. The daemon will only deal with clients/users that it trusts. On Linux, that’s a) the first user belonging to the sudo group (+ root) who connects (presumably the one who installed the application) and b) clients that were able to authenticate with multipass authenticate thereafter.

So, when an administrator who installs multipass wants to allow others, he or she needs to set a password and share it with allowed users, who then need to multipass authenticate with it. You probably connected as root the first time, so only root is trusted by multipassd.

Hi @leon-mintz!

I will add that since sudo multipass ... works, this indicates that you used sudo multipass ... first, so root is the trusted user, not your own user. Also, since sudo is the trusted user, you will need to do the following:

$ sudo multipass set local.passphrase
Please enter passphrase:
Please re-enter passphrase:
$ multipass authenticate
Please enter passphrase:

Also, it’s not advised to run multipass with sudo. Is there a reason why you’ve done that?

I was using sudo because my user account doesn’t have permissions in /opt/brew:

$ brew install --cask multipass
Error: /opt/homebrew is not writable. You should change the
ownership and permissions of /opt/homebrew back to your
user account:
  sudo chown -R $(whoami) /opt/homebrew

Exactly.

Thank you!

I just installed multipass using homebrew

└─(10:03:56)──> brew install --cask multipass                                                                                                                                                                                
Warning: Cask 'multipass' is already installed.

To re-install multipass, run:
  brew reinstall --cask multipass

but it appears it’s not part of my PATH

└─(10:06:16)──> multipass                                                                                                                                                                                                          
zsh: command not found: multipass

I have tried restarting my shell as well with same results.

Edit: I installed with the package and had the same results. I am on Ventura 13.3 (22E252) using a 2021 MBP 16in M1 w/ 32GB RAM. Are there additionaly steps I’m missing?

Hi can I move a multipass VM repository to another disk and run it? I know I can move the files (instance .iOS and .img) to another disk as a way to snapshot it. But can I move a VM and run it from another drive