Virtualisation · 5 min read · Dec 01, 2025
VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.1 sur un serveur Fedora 17 sans interface graphique
VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.1 sur un serveur Fedora 17 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.1 sur un serveur Fedora 17 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 17 (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)…
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash 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.1 sur notre serveur Fedora 17, nous avons besoin de privilèges root, donc nous exécutons
$ suEnsuite, nous installons les dépendances pour VirtualBox 4.1 comme suit :
# yum groupinstall 'Development Tools'# yum groupinstall 'Development Libraries'# yum install SDL kernel-devel kernel-headers dkmsEnsuite, téléchargez et enregistrez la clé publique rpm de VirtualBox :
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
# rpm --import oracle_vbox.asc
# rm -f oracle_vbox.ascMaintenant, nous activons le dépôt Fedora de VirtualBox sur notre système :
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repoNous pouvons maintenant simplement installer VirtualBox 4.1 comme suit :
# yum install VirtualBox-4.1À 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 faisaient 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.1.18 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 :
# cd /tmp
# wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack(Assurez-vous de récupérer la dernière version sur 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 adminVirtualBox est maintenant installé et prêt à être utilisé.
Tapez
# exitpour 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 --helppour 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 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
p3p1: flags=4163 mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::20c:29ff:fe58:4256 prefixlen 64 scopeid 0x20
ether 00:0c:29:58:42:56 txqueuelen 1000 (Ethernet)
RX packets 1133921 bytes 963213128 (918.5 MiB)
RX errors 0 dropped 6 overruns 0 frame 0
TX packets 478361 bytes 28634802 (27.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[admin@server1 ~]$ Comme vous le voyez, il est nommé p3p1 dans ce cas - veuillez garder cela à l’esprit.
Je vais maintenant créer une VM Ubuntu 12.04 Server avec 1024 Mo de mémoire et un disque dur de 10 Go à partir de l’image iso d’Ubuntu 12.04 Server (que j’ai stockée dans /home/ubuntu-12.04-server-amd64.iso) :
$ VBoxManage createvm --name "Ubuntu 12.04 Server" --registerDans la commande suivante, nous devons spécifier l’interface réseau correcte (p3p1 dans mon cas) :
$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 p3p1$ VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.04-server-amd64.iso3.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.xml3.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.04 Server"(Remplacez Ubuntu 12.04 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.04 Server" poweroffPour mettre en pause une VM, exécutez
$ VBoxManage controlvm "Ubuntu 12.04 Server" pausePour réinitialiser une VM, exécutez
$ VBoxManage controlvm "Ubuntu 12.04 Server" resetPour en savoir plus sur VBoxHeadless, jetez un œil à
$ VBoxHeadless --helpet à http://www.virtualbox.org/manual/ch07.html#vboxheadless.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.