Depuis quelques années, Canonical développe Multipass, un outil pour déployer facilement des machines virtuelles (VM) Ubuntu sur un poste client, via différents hyperviseurs. Sa version 1.8 est compatible avec les Mac M1, rendant accessible à tous un tel dispositif, sans logiciel payant.
Depuis la mise sur le marché des premiers Mac exploitant ses SoC M1, Apple a travaillé avec des éditeurs comme Parallels pour qu'ils adaptent leurs solutions de virtualisation. Problème, elles sont payantes et parfois coûteuses.
Ce n'est pas un problème pour un professionnel ou une entreprise, plus pour un particulier ou un simple étudiant qui veut seulement lancer une machine virtuelle pour avoir un accès rapide à un système Linux. macOS n'ayant pas d'équivalent du WSL de Windows 10/11, Canonical se propose de prendre le relais avec son Multipass.
L'outil permet de télécharger une image d'Ubuntu et de l'installer de manière très simple sur une machine. On peut ainsi disposer d'une ou plusieurs instances en configurant directement le nombre de cœurs CPU, la mémoire ou l'espace de stockage attribué, avec un accès à son interface en ligne de commande.
La version 1.8 mise en ligne il y a quelques jours apporte la compatibilité avec les SoC M1 exploitant une architecture ARM. Nous l'avons essayée sur un Mac Mini pour voir les intérêts et limites de cette solution.
- Multipass : créez simplement des machines virtuelles Ubuntu depuis Linux, macOS ou Windows
- Parallels Desktop 17 pour Mac gère Monterey, Windows 11 et renforce ses fonctionnalités
Ça juste marche
La première chose à faire est de télécharger Multipass depuis son site ou son dépôt GitHub, il prend la forme d'un paquet PKG qu'il suffit de lancer. Vous pouvez aussi passer par Homebrew si vous le souhaitez. Lors de l'installation, il nous a été précisé que l'application nécessitait 375,4 Mo d'espace disque.
Une fois le processus terminé, Multipass est disponible. Il peut être utilisé en ligne de commande ou via une interface graphique (GUI) qui prendra la forme d'une icône en haut à droite de l'écran, à côté des autres icônes. Un clic dessus ouvrira un menu permettant de lancer une instance, de l'arrêter, etc.
Pour une première, sélectionnez Open Shell. Cela utilisera la procédure par défaut, à savoir récupérer l'image de la version la plus récente d'Ubuntu LTS (aarch64) et l'utiliser pour une machine virtuelle avec 1 cœur, 1 Go de RAM et 5 Go de stockage. Chaque instance se voit attribuer un nom aléatoire si aucun n'est précisé (ce qui est le cas ici).

Lorsque tout sera terminé, vous serez dans Ubuntu. Pour quitter l'instance tapez exit
et validez.
Vous pouvez également agir sur elle :
multipass list // affiche la liste des instances
multipass delete nom_de_l_instance // supprime l'instance
multipass recover nom_de_l_instance // restaure une instance supprimée
multipass purge // efface définitivement les instances supprimées
multipass stop nom_de_l_instance // arrête une instance
multipass suspend nom_de_l_instance // suspend une instance
multipass start nom_de_l_instance // démarre une instance
multipass shell nom_de_l_instance // lance une instance et accède à son shell
Si vous avez besoin d'aide sur Multipass ou une commande :
multipass --help
multipass commande --help
Paramétrer vos instances
Comme le précise la documentation, c'est Hyperkit, qui exploite l'Hypervisor.framework d'Apple qui est utilisé par défaut. Si vous le désirez, vous pouvez installer VirtualBox et utiliser Multipass pour le contrôler à la place.
Pour lancer une instance avec le nom et les paramètres que vous souhaitez, rien de plus simple :
multipass launch -c 4 -m 4G -d 20G -n UbServer
Soit une machine virtuelle avec 4 cœurs, 4 Go de mémoire et 20 Go de stockage.
Vous pouvez aussi utiliser un fichier de configuration cloud-init :
multipass launch -c 4 -m 4G -d 20G -n UbServer --cloud-init configVM.yml
Vous pouvez également transférer des fichiers entre l'hôte et la VM :
multipass transfer fichier.txt fichier.pdf nom_de_l_instance:/home/ubuntu/
multipass transfer nom_de_l_instance:/home/ubuntu/fichier.txt .
Pour utiliser une version spécifique d'Ubuntu, demandez la liste des images disponibles :
% multipass find
Image Aliases Version Description
18.04 bionic 20211109 Ubuntu 18.04 LTS
20.04 focal,lts 20211118 Ubuntu 20.04 LTS
21.04 hirsute 20211110 Ubuntu 21.04
21.10 impish 20211103 Ubuntu 21.10
anbox-cloud-appliance latest Anbox Cloud Appliance
minikube latest minikube is local Kubernetes
Pour lancer une VM avec la version 21.10 par exemple :
multipass launch -c 4 -m 4G -d 20G -n UbServer impish
multipass shell UbServer
La documentation complète de Multipass est disponible ici.
Multipass : le WSL de macOS ?
L'utilisation d'Ubuntu au sein d'un Mac peut avoir différents avantages, comme le fait de profiter d'applications adaptées à l'architecture ARM64 pour l'OS de Canonical mais pas encore pour macOS. C'est par exemple le cas d'OpenSSL qui offre de bien meilleures performances ou des applications comme 7-zip, Blender, etc.
Comme pour WSL sous Windows, cela permet également de profiter d'un système isolé où lancer des outils pensés pour les développeurs par exemple. Si macOS n'est pas restreint en la matière, Linux peut faire office de base commune entre différentes machines Mac et PC avec là aussi un écosystème ARM64 déjà très riche.
