Comment mettre à niveau VirtualBox via la ligne de commande dans macOS - 5 étapes!
Il s'agit d'un guide rapide sur la façon de mettre à niveau (installer) VirtualBox à partir de la ligne de commande. Cela impliquera de monter un fichier .dmg, d'installer un fichier .pkg, et enfin de mettre à niveau (installer) le pack d'extensions.
Prérequis
Ce guide suppose que vous avez déjà téléchargé les fichiers requis disponibles sur https://www.virtualbox.org/wiki/Downloads et que vous avez les privilèges de sudo
.
Vous avez également besoin des noms ou UUIDS des machines virtuelles en cours d'exécution. Vous pouvez obtenir cela en utilisant la commande VBoxManage list runningvms
. N'oubliez pas que si vous utilisez le nom de la VM et qu'il y a des espaces, vous devez l'encapsuler entre guillemets. Exemple : VBoxManage showvminfo "Ma VM"
1. Éteignez toutes les VM en cours d'exécution et l'application VirtualBox
Éteindre les VM est aussi simple que de vous connecter et d'éteindre la VM. Cependant, comme il s'agit d'une solution "uniquement Terminal", nous devons examiner la fonction savestate
dans VBoxManage
.
VBoxManage controlvm savestate
Exécutez cette commande pour chaque VM par nom ou UUID et elle sauvegardera automatiquement la "position" de la VM en cours d'exécution, puis la fermera. Cela équivaut à sélectionner l'élément Fermer dans le Menu Machine de l'interface utilisateur VirtualBox.
Remarque : Ce n'est pas comme "débrancher la prise". Cela sauvegardera l'état de la machine afin que lorsque vous la rallumerez, elle reprenne exactement là où elle s'est arrêtée.
Ensuite, nous devons nous assurer que l'interface utilisateur VirtualBox (console de gestion) n'est pas en cours d'exécution. Pour fermer l'interface utilisateur VirtualBox, il suffit de saisir la commande :
killall VirtualBox
2. Monter le fichier .dmg d'installation de VirtualBox1
hdiutil attach ~/Downloads/VirtualBox-Version.dmg
Vous verrez plusieurs messages "Checksumming" et lorsque c'est terminé, vous verrez les disques
et le point de montage auquel l'image a été attachée, similaire à ce qui suit (ces identifiants de périphériques et noms différeront des vôtres) :
/dev/disk5 GUID_partition_scheme
/dev/disk5s1 Apple_HFS /Volumes/VirtualBox
La partie importante est /Volumes/VirtualBox
. C'est là que se trouvera l'installateur.
3. Installer le fichier .pkg2
Ensuite, nous allons exécuter l'installateur pour installer le fichier .pkg. Situé sur le volume que nous venons de monter.
sudo installer -pkg /Volumes/VirtualBox/VirtualBox.pkg -target /
Si vous obtenez le message suivant, retournez à l'étape 1
installer: Erreur - L'installateur a détecté des machines virtuelles en cours d'exécution. Veuillez éteindre toutes les machines VirtualBox en cours d'exécution, puis relancer l'installation
Si tout se passe bien, vous devriez voir le message suivant :
installer: Le nom du package est Oracle VM VirtualBox
installer: Mise à niveau sur le chemin de base /
installer: La mise à niveau a réussi.
Vous pouvez vérifier que la nouvelle version a été installée en lançant la commande :
VBoxManage --version
4. Installer le pack d'extensions
Pour mettre à niveau le Pack d'extensions, vous devez supprimer l'ancien et installer le nouveau. Vous pouvez utiliser les commandes VirtualBoxManage extpack uninstall [--force] { nom }
et VBoxManage extpack install {tarball}
, mais heureusement, Oracle nous a fourni une option --replace
pour le faire en une seule étape :
sudo VBoxManage extpack install --replace ~/Downloads/Oracle_VM_VirtualBox_Extension_Pack-version.vbox-extpack
Vous verrez quelques termes de licence, entrez simplement "Y" pour accepter. Si tout se passe bien, vous verrez le message suivant :
Installation réussie de "Oracle VM VirtualBox Extension Pack".
5. Redémarrez vos VM et Éjectez votre volume
Félicitations ! Vous avez terminé. Redémarrez vos VM si nécessaire
VBoxManage startvm [--type headless|GUI|separate]
La plupart de mes VM sont des boîtes sans tête donc j'exécute la commande avec l'option --type headless
VBoxManage startvm "FreeBSD" --type headless
N'oubliez pas d'éjecter le volume du support d'installation. Vous ne voudrez pas que des utilisateurs imprévus viennent et trouvent des volumes connectés !
hdiutil eject /Volumes/VirtualBox
Références et lectures complémentaires
1Y a-t-il une commande pour installer un fichier dmg
2Installer un .pkg avec le terminal ?
Manuel de référence VBManage