Virtualisation · 5 min read · Dec 02, 2025

VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.2 sur un serveur Fedora 18 sans interface graphique

VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.2 sur un serveur Fedora 18 sans interface graphique

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

Ce guide explique comment vous pouvez exécuter des machines virtuelles avec VirtualBox 4.2 sur un serveur Fedora 18 sans interface graphique. Normalement, vous utilisez l’interface graphique de VirtualBox pour gérer vos machines virtuelles, mais un serveur n’a pas d’environnement de bureau. Heureusement, VirtualBox est livré avec un outil appelé VBoxHeadless qui vous permet de vous connecter aux machines virtuelles via une connexion de bureau à distance, donc il n’est pas nécessaire d’utiliser l’interface graphique de VirtualBox.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J’ai testé cela sur un serveur Fedora 18 (système hôte) avec l’adresse IP 192.168.0.100 où je suis connecté en tant qu’utilisateur normal (nom d’utilisateur admin dans cet exemple) au lieu de root.

Si vous n’avez qu’un compte root, mais pas de compte utilisateur normal, créez-en un comme suit (utilisateur admin, groupe admin)…

… créez un mot de passe pour le nouvel utilisateur…

# passwd admin

… et connectez-vous en tant que cet utilisateur.

2 Installation de VirtualBox

Pour installer VirtualBox 4.2 sur notre serveur Fedora 18, nous avons besoin de privilèges root, donc nous exécutons

$ su

Assurez-vous que votre noyau est à jour :

yum install kernel

Si le noyau est mis à jour, vous devez redémarrer…

reboot

Connectez-vous à nouveau en tant qu’utilisateur normal et devenez root :

su 

Ensuite, nous installons les dépendances pour VirtualBox 4.2 comme suit :

# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers dkms 

Ensuite, téléchargez et enregistrez la clé rpm publique de VirtualBox :

Maintenant, nous activons le dépôt Fedora de VirtualBox sur notre système :

Nous pouvons maintenant simplement installer VirtualBox 4.2 comme suit :

# yum install VirtualBox-4.2

À partir de la version 4.0, VirtualBox a introduit ce qu’on appelle des “packs d’extension” et a externalisé certaines fonctionnalités comme le support de la connexion de bureau à distance (VRDP) qui faisait partie des paquets VirtualBox avant la version 4.0 dans ces packs d’extension. Comme nous avons besoin de connexions de bureau à distance pour contrôler nos machines virtuelles, nous devons maintenant installer le pack d’extension approprié. Allez sur http://www.virtualbox.org/wiki/Downloads, et vous trouverez un lien vers le pack d’extension suivant :

VirtualBox 4.2.6 Oracle VM VirtualBox Extension Pack
Support pour les appareils USB 2.0, VirtualBox RDP et démarrage PXE pour les cartes Intel.

Téléchargez et installez le pack d’extension comme suit :

(Assurez-vous de récupérer la dernière version depuis le site Web de VirtualBox.)

Maintenant, nous devons ajouter l’utilisateur qui exécutera VirtualBox (admin dans cet exemple) au groupe vboxusers :

# /usr/sbin/usermod -G vboxusers admin

VirtualBox est maintenant installé et prêt à être utilisé.

Tapez

# exit

pour quitter le compte root et redevenir un utilisateur normal (admin) à nouveau.

3 Utilisation de VirtualBox en ligne de commande

3.1 Création d’une VM

Pour créer une VM en ligne de commande, nous pouvons utiliser la commande VBoxManage. Voir

$ VBoxManage --help

pour une liste des options disponibles et (très recommandé !) jetez un œil à http://www.virtualbox.org/manual/ch08.html.

Avant de créer une machine virtuelle, nous devons découvrir comment le périphérique réseau principal est nommé sur Fedora :

$ ifconfig

[admin@server1 ~]$ ifconfig
lo: flags=73 mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 6 bytes 624 (624.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 624 (624.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

p2p1: flags=4163 mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::a00:27ff:fe08:1269 prefixlen 64 scopeid 0x20
ether 08:00:27:08:12:69 txqueuelen 1000 (Ethernet)
RX packets 78911 bytes 113684403 (108.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 42260 bytes 3541430 (3.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[admin@server1 ~]$

Comme vous le voyez, il est nommé p2p1 dans ce cas - veuillez garder cela à l’esprit.

Je vais maintenant créer une VM Ubuntu 12.10 Server avec 1024 Mo de mémoire et un disque dur de 10 Go à partir de l’image iso d’Ubuntu 12.10 Server (que j’ai stockée dans /home/ubuntu-12.10-server-amd64.iso) :

$ VBoxManage createvm --name "Ubuntu 12.10 Server" --register

Dans la commande suivante, nous devons spécifier l’interface réseau correcte (p2p1 dans mon cas) :

$ VBoxManage modifyvm "Ubuntu 12.10 Server" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 p2p1

$ VBoxManage createhd –filename Ubuntu_12_10_Server.vdi –size 10000
$ VBoxManage storagectl “Ubuntu 12.10 Server” –name “IDE Controller” –add ide
$ VBoxManage storageattach “Ubuntu 12.10 Server” –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium Ubuntu_12_10_Server.vdi
$ VBoxManage storageattach “Ubuntu 12.10 Server” –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /home/ubuntu-12.10-server-amd64.iso

3.2 Importation d’une VM existante

Supposons que vous ayez une VM appelée examplevm que vous souhaitez réutiliser sur cet hôte. Sur l’ancien hôte, vous devriez avoir un répertoire Machines/examplevm dans le répertoire VirtualBox ; Machines/examplevm devrait contenir le fichier examplevm.xml. Copiez le répertoire examplevm (y compris le fichier examplevm.xml) dans votre nouveau répertoire Machines (si votre nom d’utilisateur est admin, c’est /home/admin/.VirtualBox/Machines - le résultat devrait être /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).

En plus de cela, copiez le fichier examplevm.vdi de l’ancien répertoire VDI vers le nouveau (par exemple /home/admin/.VirtualBox/VDI/examplevm.vdi).

Ensuite, vous devez enregistrer la VM importée :

$ VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Démarrage d’une VM avec VBoxHeadless

Que vous créiez une nouvelle VM ou importiez une ancienne, vous pouvez la démarrer avec la commande :

$ VBoxHeadless --startvm "Ubuntu 12.10 Server"

(Remplacez Ubuntu 12.10 Server par le nom de votre VM.)

VBoxHeadless démarrera la VM et un serveur VRDP (VirtualBox Remote Desktop Protocol) qui vous permet de voir la sortie de la VM à distance sur une autre machine.

Pour arrêter une VM, exécutez

 $ VBoxManage controlvm "Ubuntu 12.10 Server" poweroff

Pour mettre en pause une VM, exécutez

$ VBoxManage controlvm "Ubuntu 12.10 Server" pause

Pour réinitialiser une VM, exécutez

$ VBoxManage controlvm "Ubuntu 12.10 Server" reset

Pour en savoir plus sur VBoxHeadless, jetez un œil à

$ VBoxHeadless --help

et à http://www.virtualbox.org/manual/ch07.html#vboxheadless.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.