Multipass 1.8 : comment lancer simplement un Ubuntu virtualisé sur un Mac M1
WSL, sort of
Le 19 novembre 2021 à 15h22
5 min
Logiciel
Logiciel
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.
Multipass 1.8 : comment lancer simplement un Ubuntu virtualisé sur un Mac M1
-
Ça juste marche
-
Paramétrer vos instances
-
Multipass : le WSL de macOS ?
Commentaires (25)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 19/11/2021 à 15h29
C’est pas mal ça… Y’a un petit coté vagrant en plus de la virtualisation pure qui est pas dégueu
Le 19/11/2021 à 15h48
J’adorerais voir un WSL sous Mac OS, qui sous Windows permets d’avoir un vrai système Linux complet et d’éviter de tout flinguer si on fait une connerie dessus. En plus d’avoir une très forte intégration avec le système qui permets de l’utiliser de manière performante avec des outils comme VSCode.
Le 19/11/2021 à 16h02
Oui le problème c’est de ne pas avoir d’espace de fichiers partagé ou d’équivalent de WSLg pour le moment. Espérons que ça viendra avec le temps (côté Apple ou Canonical ). Mais Apple poussera plutôt le fait que macOS est sur base UNIX donc n’ayant pas besoin d’un WSL.
Le 19/11/2021 à 19h25
Tu as Lima qui marche plutôt bien: GitHub.
Le homedir sous MacOS est automatiquement monté en SSHFS comme homedir sous Linux. Ca marche super bien. Par contre, je crois que c’est de la ligne de commande seulement.
Le 20/11/2021 à 17h25
Je pose la question ici à tout hasard même si ce n’est pas un forum : mon père a une image Vista qu’il utilise avec VirtualBox sur son Mac Intel depuis des années, pour faire tourner un programme particulier.
Quelles sont les solutions pour récupérer cette image et la faire tourner sur un Mac ARM, à part Parallels ?
Le 20/11/2021 à 20h48
Virtualbox ?
Le 21/11/2021 à 08h24
Il me semble qu’il est impossible d’émuler un OS x64 ou x86 sur un hôte ARM, seulement de l’ARM.
C’est mort pour l’application de ton père.
Ou alors j’ai raté une étape?
Le 21/11/2021 à 09h51
C’est possible pour les logiciels sur Windows en tout cas. Windows for ARM sait émuler les apps x64 et x86 depuis plusieurs mois (années ?) .
Peut êtrez que l’émulation “native” par le processeur est pas possible mais ça peut être fait via une couche soft
Le 22/11/2021 à 10h13
Merci pour l’info!
Le 21/11/2021 à 14h44
Je crois que tu as raison. J’ai vu que pour VirtualBox ça ne fonctionnait pas en tous cas.
Je note l’idée de passer par Windows for ARM, merci.
Le truc un peu original c’est que mon père a seulement besoin de faire tourner un programme MS-DOS (!), il s’agit d’un programme qu’il a écrit en C à la fin des années 80 pour gérer ses comptes. Ça devrait pouvoir se porter en mode “ncurses” sur un terminal Unix Mac, moyennant quelques adaptations du code.
Le 21/11/2021 à 15h13
As-tu essayé DOSBox-X ? Apparemment, c’est un fork de DOSBox et qui dispose d’une build tournant nativement sur M1.
Article sur Medium : https://nomadic-dmitry.medium.com/apple-silicon-m1-how-to-run-dos-games-and-apps-b5858e51e339
Site du logiciel : https://dosbox-x.com
Le 21/11/2021 à 22h10
Euh.. j’ai téléchargé et installé un ubuntu sur mon mac mini m1 hier, en moins d’une minute.
Docker, tout simplement…
Le 22/11/2021 à 07h43
Ce n’est pas exactement la même chose, mais je suppose que tu le sais très bien ;) Sinon pour Docker sur M1, attention à un point pour le moment :
Le 22/11/2021 à 16h56
Yes, rosetta2 est activé chez moi depuis le premier jour. Forcément.. il reste tellement de choses pas encore réécrites ;-)
Et pour Ubuntu, en usage occasionnel Docker fait parfaitement l’affaire et c’est nettement plus rapide ET safe quand tu peux dropper/recréer le container à volonté 😉
Le 23/11/2021 à 20h19
Merci pour cette idée, ça a l’air idéal et peu compliqué à mettre en oeuvre.
Le 23/11/2021 à 20h23
Un Ubuntu compilé pour quel CPU ?
Dans mon cas je veux faire tourner un MS-DOS (ou compatible, en tous cas c’est du x86) voire un Windows (a priori x86), sur un Mac M1. Je ne crois pas que Docker me permette de faire ça.
Je te cite pour solliciter ta confirmation de ce que j’ai répondu à “elec” juste au-dessus.
Le 23/11/2021 à 20h25
Question de novice en Windows : Windows for ARM, en existe-t-il des versions gratuites à télécharger ?
Le 23/11/2021 à 21h31
La seule méthode que j’ai trouvée consiste à créer un compte Insider ici : https://insider.windows.com/en-us/register
Puis à télécharger un fichier VHDX ici :
Microsoft
Et l’installer via Parallels Desktop.
Le 23/11/2021 à 22h20
Décidément quel expert :-) . Encore merci.
Le 24/11/2021 à 09h47
Avec plaisir. ;)
Le 24/11/2021 à 09h51
Il y a un article pour ça
Le 24/11/2021 à 12h25
Le 24/11/2021 à 10h52
Alors je vais faire le sale con de manager mais chercher des solutions techniques alors que ton père a juste à dépenser quelques euros dans une application genre lynxo ou pilote budget me semble un effort démesuré
https://www.techadvisor.fr/banc-essai/telephones/application-gestion-budget-3787805/
(ceci même si je suis content d’en apprendre via les commentaires sur l’émulation d’apps anciennes sous ARM/OSX bien entendu )
Le 24/11/2021 à 12h36
Merci pour les liens.
Cela dit il n’est plus tout jeune et a l’habitude de son programme qu’il a fait sur mesure (il n’a pas dû trouver ce qui lui convenait à l’époque) et qu’il a fait évoluer depuis la fin des années 80. Par ailleurs il préfère sûrement concevoir ses budgets sur un ordinateur que sur un mobile (même moi je ne pourrais pas faire ça sur mobile, c’est pas fait pour ça c’est trop étriqué). En tous cas ce n’est pas une question de payer pour un programme puisqu’il en achète.
Le 24/11/2021 à 14h54
Avec ces applis pas besoin de saisies, elles s’interfacent avec les banques et même l’analytique des dépenses est en partie automatisable donc principalement ça sert à vérifier de manière centralisée interbancaire ce qui se passe… quasi que de la consultation, faisable sur tablettes aussi.