{"id":11494,"date":"2020-03-18T21:09:44","date_gmt":"2020-03-18T19:09:44","guid":{"rendered":"https:\/\/www.domorizon.eu\/blog\/?p=11494"},"modified":"2021-08-08T18:44:16","modified_gmt":"2021-08-08T16:44:16","slug":"linux-virtualbox-en-ligne-de-commande-cli","status":"publish","type":"post","link":"https:\/\/www.domorizon.eu\/blog\/linux-virtualbox-en-ligne-de-commande-cli\/","title":{"rendered":"Linux : Virtualbox en ligne de commande (CLI)&#8230; et interface WEB"},"content":{"rendered":"<p>Depuis que je suis confin\u00e9 \u00e0 travailler depuis chez moi, j&rsquo;ai eu l&rsquo;envie de monter un environnement de machine sous Linux, toutes sur la m\u00eame machine hyperviseur.<\/p>\n<p>Pour cela, j&rsquo;ai resorti un vieux PC du placard :<\/p>\n<ul>\n<li>Intel i7 2770<\/li>\n<li>16 Go de RAM<\/li>\n<li>1 To de disque dur<\/li>\n<li>Carte m\u00e8re avec technologie Intel VT (virtualisation) activable<\/li>\n<\/ul>\n<p>Ma machine va recevoir toutes les autres sous forme de VM (Virtual Machine) : mon PC sera donc consid\u00e9r\u00e9 comme un \u00ab\u00a0Hyperviseur\u00a0\u00bb<\/p>\n<p>Pour fonctionner, mon hyperviseur va fonctionner sous <strong><em>Linux Ubuntu Server 18.04<\/em><\/strong>; d&rsquo;autres distributions Linux peuvent \u00e9galement \u00eatre utilis\u00e9s pour r\u00e9aliser ce type de machine : la configuration d&rsquo;une adresse IP fixe sur ma machine sera par contre un pr\u00e9-requis. Sous Ubuntu Server, la configuration repose sur le syst\u00e8me \u00ab\u00a0Netplan\u00a0\u00bb.<\/p>\n<p>Je vous propose de voir plusieurs choses au sein de cet article :<\/p>\n<ol>\n<li><a href=\"#installation\">L&rsquo;installation de VirtualBOX<\/a><\/li>\n<li><a href=\"#interfaceWEB\">L&rsquo;utilisation &amp; l&rsquo;administration de VirtualBOX via une interface WEB<\/a><\/li>\n<li><a href=\"#interfaceCLI\">L&rsquo;utilisation &amp; l&rsquo;administration de VirtualBOX en ligne de commande<\/a><\/li>\n<\/ol>\n<h2><a id=\"installation\"><\/a>1 &#8211; Installation de VirtualBOX<\/h2>\n<p>Avant d&rsquo;installer quoi que se soit, un peu de param\u00e9trage :<\/p>\n<ul>\n<li>Dans le dossier \/etc\/apt\/source.list.d on va cr\u00e9er un fichier qui portera le non \u00ab\u00a0virtualbox.list\u00a0\u00bb<\/li>\n<li>Dans ce fichier, on va copier les lignes suivantes :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:yaml decode:true\">deb [arch=amd64] http:\/\/download.virtualbox.org\/virtualbox\/debian bionic contrib\n# deb-src http:\/\/download.virtualbox.org\/virtualbox\/debian bionic contrib\n# deb-src http:\/\/download.virtualbox.org\/virtualbox\/debian bionic contrib\n# deb-src http:\/\/download.virtualbox.org\/virtualbox\/debian bionic contrib\n# deb-src http:\/\/fr.archive.ubuntu.com\/ubuntu bionic-security multiverse\n<\/pre>\n<ul>\n<li>Ensuite, on lance la commande (en \u00e9tant toujours sous &lsquo;root&rsquo;) :\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">wget -q https:\/\/www.virtualbox.org\/download\/oracle_vbox.asc\napt-key add oracle_vbox.asc\napt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2F683C52980AECF<\/pre>\n<\/li>\n<li>Cela importera les cl\u00e9s du repository virtualbox<\/li>\n<li>On lance la commande \u00ab\u00a0<strong>apt update<\/strong>\u00ab\u00a0<\/li>\n<\/ul>\n<p>On installera les paquets VirtualBOX sur la machine avec la commande :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">apt install virtualbox-5.2 virtualbox-ext-pack<\/pre>\n<h2><a id=\"interfaceWEB\"><\/a>2 &#8211; L&rsquo;utilisation &amp; l&rsquo;administration de VirtualBOX via une interface WEB<\/h2>\n<p>VirtualBOX est maintenant install\u00e9&#8230; Mais en mode ligne de commande, il faut bien avouer que cela n&rsquo;est pas tr\u00e8s firendly ! On va donc installer une interface WEB qui va permettre de g\u00e9rer cet \u00e9mulateur pour par la suite y cr\u00e9er nos machines virtuelles. Cette interface s&rsquo;appelle \u00ab\u00a0phpvirtualbox\u00a0\u00bb et est disponible sur <a href=\"https:\/\/github.com\/phpvirtualbox\/phpvirtualbox\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n<p>phpVirtualBOX est un projet construit en langage PHP depuis plusieurs ann\u00e9es&#8230; M\u00eame si le projet est de moins en moins actif, il reste l&rsquo;une des seule solutions pour administrer graphiquement depuis un navigateur WEB, des machines virtuelles \u00e0 distance.<\/p>\n<p>[tds_council]Le seul point n\u00e9gatif \u00e0 ce programme, c&rsquo;est qu&rsquo;il propose un acc\u00e8s \u00e0 la console en utilisant la technologie (d\u00e9pass\u00e9e et plus vraiment support\u00e9e) Adobe Flash Player. Si vous utilisez un navigateur WEB qui ne poss\u00e8de plus ce module, soit vous en changez, soit vous passez directement au <a href=\"#interfaceCLI\">chapitre 3<\/a>, soit vous utilisez un client RDP fourni en standard par Windows \u00ab\u00a0mstsc.exe\u00a0\u00bb, sous Linux, on pourra utiliser <a href=\"https:\/\/remmina.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Remmina<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Vinagre\" target=\"_blank\" rel=\"noopener noreferrer\">Vinagre<\/a>, etc&#8230;[\/tds_council]<\/p>\n<p>L&rsquo;interface \u00e9tant bas\u00e9e sur un mode WEB, il nous faut donc un serveur WEB : on installe alors Apache avec les modules utilis\u00e9s par l&rsquo;application WEB :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">apt install apache2 libapache2-mod-php php php-soap php-xml<\/pre>\n<p>Ensuite on va se cr\u00e9er un USER sp\u00e9cifique qui fera fonctionner le processus \u00ab\u00a0vboxwebsrv\u00a0\u00bb :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">adduser vbox<\/pre>\n<p>Le syst\u00e8me va vous demander un tas de chose, dont son mot de passe : on mettra \u00ab\u00a0<strong><em>pass<\/em><\/strong>\u00a0\u00bb<\/p>\n<p>Pour que le USER que l&rsquo;on vient de cr\u00e9er puisse discuter correctement avec VirtualBOX, on va le rattacher au groupe VirtualBOX :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">usermod -G vboxusers vbox<\/pre>\n<p>Maintenant que l&rsquo;on a cr\u00e9\u00e9 le USER qui va permettre l&rsquo;ex\u00e9cution du processus qui permettra l&rsquo;int\u00e9raction avec le service WEB, on va cr\u00e9er un script de lancement de ce processus :<\/p>\n<ul>\n<li>Se rendre dans \/etc\/systemd\/system<\/li>\n<li>Cr\u00e9er le fichier <em><strong>vboxwebsrv.service<\/strong><\/em> avec l&rsquo;\u00e9diteur de votre choix<\/li>\n<li>Ajouter le texte suivant dans ce nouveau fichier :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:default decode:true\">[Unit]\n      Description=vboxwebsrv service\n[Service]\n      User=vbox\n      Group=vbox\n      ExecStart=\/usr\/lib\/virtualbox\/vboxwebsrv -H 127.0.0.1\n      WorkingDirectory=\/home\/vbox\n      Restart=on-failure\n      RestartSec=1m\n      #StandardOutput=null\n[Install]\n      WantedBy=multi-user.target\n\n<\/pre>\n<ul>\n<li>Enregistrer le fichier<\/li>\n<li>On test le service pour voir s&rsquo;il est fonctionnel :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">systemctl start vboxwebsrv.service<\/pre>\n<ul>\n<li>Puis on regarde s&rsquo;il est bien d\u00e9marr\u00e9 avec la commande \u00ab\u00a0<strong><em>systemctl status vboxwebsrv.service<\/em><\/strong>\u00a0\u00bb :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh mark:1,3,5 decode:true\">root@hyperviseur:\/etc\/systemd\/system# systemctl status vboxwebsrv.service\n\n\u25cf vboxwebsrv.service - vboxwebsrv service\n   Loaded: loaded (\/etc\/systemd\/system\/vboxwebsrv.service; disabled; vendor preset: enabled)\n   Active: active (running) since Wed 2020-03-18 17:22:46 UTC; 5min ago\n Main PID: 32063 (vboxwebsrv)\n    Tasks: 17 (limit: 4915)\n   CGroup: \/system.slice\/vboxwebsrv.service\n           \u251c\u250032063 \/usr\/lib\/virtualbox\/vboxwebsrv -H 127.0.0.1\n           \u251c\u250032072 \/usr\/lib\/virtualbox\/VBoxXPCOMIPCD\n           \u2514\u250032081 \/usr\/lib\/virtualbox\/VBoxSVC --auto-shutdown\n\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000134 main     OS Version: #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000172 main     DMI Product Name: OptiPlex 790\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000181 main     DMI Product Version: 01\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000239 main     Host RAM: 15919MB (15.5GB) total, 15308MB (14.9GB) available\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000243 main     Executable: \/usr\/lib\/virtualbox\/vboxwebsrv\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000244 main     Process ID: 32063\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000244 main     Package type: LINUX_64BITS_UBUNTU_18_04\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.011449 main     IPC socket path: \/tmp\/.vbox-vbox-ipc\/ipcd\nmars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.151658 SQPmp    Socket connection successful: host = 127.0.0.1, port = 18083, master socket = 8\nmars 18 17:22:51 hyperviseur vboxwebsrv[32063]: 00:00:05.149184 Watchdog Statistics: 0 websessions, 0 references\n<\/pre>\n<ul>\n<li>Si tout s&rsquo;est correctement d\u00e9roul\u00e9, vous pouvez activer d\u00e9finitivement ce nouveau service, ce qui permettra un d\u00e9marrage automatique au d\u00e9marrage de Linux :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">root@hyperviseur:\/etc\/systemd\/system# systemctl enable vboxwebsrv.service\nCreated symlink \/etc\/systemd\/system\/multi-user.target.wants\/vboxwebsrv.service \u2192 \/etc\/systemd\/system\/vboxwebsrv.service<\/pre>\n<ul>\n<li>La derni\u00e8re chose \u00e0 configurer sur VirtualBOX est son fichier de configuration : <em><strong>\/etc\/default\/virtualbox<\/strong><\/em><br \/>\nOn indiquera les lignes suivantes \u00e0 minima dedans :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:default decode:true\">VBOXWEB_USER=vbox\nVBOXWEB_HOST=127.0.0.1\n<\/pre>\n<p>D&rsquo;autres options dans ce fichier sont possible, mais pas vraiment indispensable dans notre cas; on se r\u00e9f\u00e9rera \u00e0 la <a href=\"https:\/\/github.com\/phpvirtualbox\/phpvirtualbox\/wiki\/vboxweb-service-Configuration-in-Linux\" target=\"_blank\" rel=\"noopener noreferrer\">documentation officielle<\/a> \u00e0 ce propos.<\/p>\n<p>Maintenant que VirtualBOX est install\u00e9 et que son interface de communication WEB est fonctionnelle, on passe au t\u00e9l\u00e9chargement de l&rsquo;application \u00ab\u00a0<a href=\"https:\/\/github.com\/phpvirtualbox\/phpvirtualbox\" target=\"_blank\" rel=\"noopener noreferrer\">phpvirtualbox<\/a>\u00ab\u00a0; on la trouvera sur <a href=\"https:\/\/github.com\/phpvirtualbox\/phpvirtualbox\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a> (NB: le projet a migr\u00e9 de SourceForge \u00e0 GitHub). On t\u00e9l\u00e9chargera la version 5.2 disponible dans la liste des releases de l&rsquo;application (<span style=\"text-decoration: underline;\"><strong>NB<\/strong><\/span> : \u00e0 cette date, la version de d\u00e9veloppement n&rsquo;est compatible qu&rsquo;avec la version 6.x de VirtualBOX).<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">cd \/var\/www\/html\nwget https:\/\/codeload.github.com\/phpvirtualbox\/phpvirtualbox\/zip\/5.2-1<\/pre>\n<ul>\n<li>On d\u00e9compresse l&rsquo;archive ZIP re\u00e7u dans notre dossier (qui doit \u00eatre \/var\/www\/html) et on cr\u00e9\u00e9 un lien vers le dossier cible :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:c++ decode:true\">unzip phpvirtualbox-5.2-1.zip\nln -s phpvirtualbox-5.2-1\/ phpvirtualbox<\/pre>\n<ul>\n<li><a id=\"fichierConfig\"><\/a>On installe le fichier de configuration de l&rsquo;application :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">cd phpvirtualbox\ncp config.php-example config.php\n<\/pre>\n<p>On modifiera les lignes suivantes dans le fichier config.php:<\/p>\n<ul>\n<li>Remplacer la ligne \u00ab\u00a0<em>#var $vrdeaddress = &lsquo;192.168.1.1&rsquo;;<\/em>\u00a0\u00bb par \u00ab\u00a0<em>var $vrdeaddress = &lsquo;192.168.1.190&rsquo;;<\/em>\u00a0\u00bb<br \/>\n<strong>NB :<\/strong> 192.168.1.190 \u00e9tant l&rsquo;adresse de votre machine et bien supprimer le # en d\u00e9but de ligne<\/li>\n<\/ul>\n<p>&#8211;&gt; \u00c9ventuellement, vous pouvez modifier la langue dans le fichier de config en changeant la ligne \u00ab\u00a0var $language = &lsquo;<strong>en<\/strong>&lsquo;;\u00a0\u00bb par \u00ab\u00a0var $language = &lsquo;<strong>fr<\/strong>&lsquo;;\u00a0\u00bb<\/p>\n<ul>\n<li>On oublie pas de mettre tout ce petit monde avec les bons droits :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">chown -R www-data:www-data \/var\/www\/html\/<\/pre>\n<ul>\n<li>Maintenant que tout est correctement install\u00e9, il faut red\u00e9marrer le serveur (reboot) ou red\u00e9marrer les services VirtualBOX :<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">systemctl list-units | grep vbox\nvboxautostart-service.service                                                            loaded active exited    vboxautostart-service.service   \nvboxballoonctrl-service.service                                                          loaded active exited    vboxballoonctrl-service.service \nvboxdrv.service                                                                          loaded active exited    VirtualBox Linux kernel module  \nvboxweb-service.service                                                                  loaded active running   vboxweb-service.service         \nvboxwebsrv.service                                                                       loaded active running   vboxwebsrv service\n\nroot@hyperviseur:\/var\/www\/html\/phpvirtualbox# systemctl restart vboxautostart-service.service\nroot@hyperviseur:\/var\/www\/html\/phpvirtualbox# systemctl restart vboxballoonctrl-service.service\nroot@hyperviseur:\/var\/www\/html\/phpvirtualbox# systemctl restart vboxdrv.service\nroot@hyperviseur:\/var\/www\/html\/phpvirtualbox# systemctl restart vboxweb-service.service\nroot@hyperviseur:\/var\/www\/html\/phpvirtualbox# systemctl restart vboxwebsrv.service\n\n<\/pre>\n<p>[tds_warning]<\/p>\n<p>Si vous oubliez cette \u00e9tape, il est possible que certains \u00e9l\u00e9ments de votre interface WEB ne fonctionneront pas correctement&#8230; C&rsquo;est le cas de la Console (\u00ab\u00a0Remote desktop\u00a0\u00bb) qui peut rester gris\u00e9.<\/p>\n<p>[\/tds_warning]<\/p>\n<ul>\n<li>Vous pouvez maintenant vous rendre sur la page WEB de votre service : http:\/\/&lt;VotreAdresseIP&gt;\/phpvirtualbox<\/li>\n<li>Une page de login doit appara\u00eetre<\/li>\n<\/ul>\n<p><a  href=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_29_06-phpVirtualBox-VirtualBox-Web-Console.jpg\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11575\" src=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_29_06-phpVirtualBox-VirtualBox-Web-Console.jpg\" alt=\"\" width=\"313\" height=\"156\" srcset=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_29_06-phpVirtualBox-VirtualBox-Web-Console.jpg 313w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_29_06-phpVirtualBox-VirtualBox-Web-Console-300x150.jpg 300w\" sizes=\"auto, (max-width: 313px) 100vw, 313px\" \/><\/a><\/p>\n<ul>\n<li>Le login &amp; mot de passe sont par d\u00e9faut : admin \/admin<br \/>\nVous pourrez rajouter d&rsquo;autres utilisateurs dans la partie configuration par la suite et changer le mot de passe de ce compte \u00ab\u00a0<em><strong>admin<\/strong><\/em>\u00ab\u00a0&#8230;<\/li>\n<\/ul>\n<p>[tds_warning]<\/p>\n<p>Il est difficile de trouver la bonne configuration quand on installe tous ces \u00e9l\u00e9ments&#8230; J&rsquo;ai pu tester la version d\u00e9veloppement de phpvirtualbox (en date du 14\/03\/2020) avec les versions 5.x et 6.x de VirtualBOX. En utilisant une version de phpvirtualbox 6.x (celle de d\u00e9veloppement) on peut se retrouver avec ce type de message :<\/p>\n<p><a  href=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console.jpg\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-11593\" src=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console-700x148.jpg\" alt=\"\" width=\"700\" height=\"148\" srcset=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console-700x148.jpg 700w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console-300x63.jpg 300w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console-768x162.jpg 768w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console-570x120.jpg 570w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-18-19_48_17-phpVirtualBox-VirtualBox-Web-Console.jpg 814w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a>Il ne faut pas m\u00e9langer les versions !!!<\/p>\n<p>[\/tds_warning]<\/p>\n<p>[tds_note]Si vous rencontrez des probl\u00e8mes en rentrant sur l&rsquo;interface, voici quelques pistes :<\/p>\n<ul>\n<li>V\u00e9rifier que le processus vboxwebsrv fonctionne bien en tache de fond : la commande \u00ab\u00a0<em>ps -ef | grep box<\/em>\u00a0\u00bb doit renvoyer une ligne qui doit ressembler \u00e0 cela :<br \/>\n<em>\/usr\/lib\/virtualbox\/vboxwebsrv &#8211;background -H 127.0.0.1<\/em><br \/>\nNotez bien que le processus doit avoir les arguments \u00ab\u00a0<strong><em>&#8211;background -H 127.0.0.1<\/em><\/strong>\u00ab\u00a0<\/li>\n<li>V\u00e9rifier que le fichier de configuration de l&rsquo;application <em>phpvirtualbox<\/em> est bien pr\u00e9sent : il doit \u00eatre fourni sous le nom \u00ab\u00a0<a href=\"#fichierConfig\">config.php<\/a>\u00ab\u00a0; une version d&rsquo;exemple est disponible \u00e0 la racine du serveur sur laquelle vous r\u00e9f\u00e9rer<\/li>\n<li>V\u00e9rifier que le fichier <em><strong>\/etc\/default\/virtualbox<\/strong><\/em> contient bien les informations d\u00e9crites ci-dessus.<\/li>\n<li>Si vous avez des probl\u00e8mes pour utiliser la console, il faut v\u00e9rifier que :\n<ul>\n<li>Le <a href=\"https:\/\/www.virtualbox.org\/wiki\/Download_Old_Builds_5_2\" target=\"_blank\" rel=\"noopener noreferrer\">pack d&rsquo;extension de VirtualBox<\/a> est bien install\u00e9 : c&rsquo;est cette extension qui permet d&rsquo;apporter le d\u00e9port vid\u00e9o via le protocole RDP, il est donc indispensable\n<ul>\n<li>Note : on peut v\u00e9rifier que le pack est bien install\u00e9 par la commande \u00ab\u00a0<em><strong>VBoxManage list extpacks<\/strong><\/em>\u00ab\u00a0; dans le cas contraire, on pourra ex\u00e9cuter par exemple la commande \u00ab\u00a0<em><strong>VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack<\/strong><\/em>\u00a0\u00bb en ayant pris soin de t\u00e9l\u00e9charger le fichier <em><strong>\u00ab\u00a0Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack<\/strong><\/em>\u00a0\u00bb avant !!!<\/li>\n<\/ul>\n<\/li>\n<li>Lorsqu&rsquo;une VM est d\u00e9marr\u00e9e, dans la console de votre hyperviseur (et pas celle de VirtualBox !), on tapera la commande :<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh mark:1 decode:true\">root@hyperviseur:\/# netstat -anp | grep VBoxHeadless\ntcp 0 0 192.168.1.150:9000 0.0.0.0:* LISTEN 27631\/VBoxHeadless<\/pre>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>La commande doit renvoyer une ligne tel que dans l&rsquo;exemple ci-dessus (NB: 192.168.1.150 est l&rsquo;adresse de mon hyperviseur dans cet exemple)\n<ul>\n<li><span style=\"text-decoration: underline; color: #ff0000;\"><strong>ATTENTION:<\/strong><\/span> si la ligne renvoie une adresse en \u00ab\u00a0127.0.0.1\u00a0\u00bb \u00e0 la place de l&rsquo;adresse de l&rsquo;hyperviseur (ou de \u00ab\u00a00.0.0.0\u00a0\u00bb), vous ne pourrez jamais vous connecter sur la console ou \u00e0 distance depuis une console RDP avec apparition d&rsquo;une erreur de type \u00ab\u00a0<em><strong>TCP: SECURITY_ERROR Error #2048<\/strong><\/em>\u00ab\u00a0<\/li>\n<\/ul>\n<\/li>\n<li>Lorsque vous \u00eates connect\u00e9 en RDP, cette m\u00eame commande doit renvoyer en plus une ligne comme comme dans cet exemple :<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre class=\"theme:dark-terminal lang:sh mark:3 decode:true\">root@hyperviseur:\/# netstat -anp | grep VBoxHeadless\ntcp 0 0 192.168.1.150:9000 0.0.0.0:* LISTEN 27631\/VBoxHeadless\ntcp 0 0 192.168.1.150:9000 192.168.0.23:52330 ESTABLISHED 27631\/VBoxHeadless<\/pre>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Si l&rsquo;adresse fournie par le fichier .rdp de la machine fait r\u00e9f\u00e9rence \u00e0 une adresse locale comme \u00ab\u00a0127.0.0.1\u00a0\u00bb, il est fort probable que le fichier de config n&rsquo;a pas \u00e9t\u00e9 mis \u00e0 jour correctement; remplacer la ligne \u00ab\u00a0#var $vrdeaddress = &lsquo;192.168.1.1&rsquo;;\u00a0\u00bb par \u00ab\u00a0var $vrdeaddress = &lsquo;192.168.1.190&rsquo;;\u00a0\u00bb (<strong>NB :<\/strong> 192.168.1.190 \u00e9tant l&rsquo;adresse de votre machine et bien supprimer le # en d\u00e9but de ligne)<br \/>\nSi vous avez cr\u00e9\u00e9 des machines avec cette mauvaise configuration, vos machines doivent soit \u00eatre refaite, soit \u00e9dit\u00e9 directement au niveau de son fichier de config (.vbox) afin de r\u00e9tablir une bonne configuration d&rsquo;acc\u00e8s.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>[\/tds_note]<\/p>\n<h2><a id=\"interfaceCLI\"><\/a>3 &#8211; L&rsquo;utilisation &amp; l&rsquo;administration de VirtualBOX en ligne de commande<\/h2>\n<p>Pour g\u00e9rer en ligne de commande VirtualBOX, une commande essentielle est a connaitre :<\/p>\n<p style=\"padding-left: 40px;\"><strong>VBoxManage <em>&lt;option&gt; &lt;commande&gt;<\/em><\/strong><\/p>\n<p>Pour la liste compl\u00e8te, on se r\u00e9ferera \u00e0 la <a href=\"https:\/\/www.virtualbox.org\/manual\/ch08.html\" target=\"_blank\" rel=\"noopener noreferrer\">documentation offcielle<\/a><\/p>\n<p>Toutefois, pour une petite mise en bouche, je vous propose de cr\u00e9er une VM depuis la ligne de commande : ce sera une machine de base, avec des options standard !<\/p>\n<p>Notre VM s&rsquo;appelera \u00ab\u00a0linux2020\u00a0\u00bb.<\/p>\n<p>On d\u00e9butera par la cr\u00e9ation de la VM :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage createvm --name linux2020 --register --basefolder \"&lt;chemin&gt;\"<\/pre>\n<p>C&rsquo;est le strict minimum pour commencer la cr\u00e9ation d&rsquo;un VM; les options correspondent \u00e0 :<\/p>\n<ul>\n<li>&#8211; -name : on donne un nom \u00e0 notre VM<\/li>\n<li>&#8211; -register : on enregistre notre nouvelle VM dans la base des machines de VirtualBOX<\/li>\n<li>&#8211; -basefolder : on d\u00e9fini le chemin ou sera stock\u00e9 nos machines virtuelles.<\/li>\n<\/ul>\n<p>On remarque que le retour de cette commande affiche plusieurs informations, dont un UUID : cette variable est unique et peut remplacer le nom de la machine dans les commandes qui vont suivre&#8230;<\/p>\n<p>Cela va cr\u00e9er aussi un dossier du nom de la machine ainsi que du fichier \u00ab\u00a0linux2020.vbox\u00a0\u00bb; ce fichier contient au final assez peut d&rsquo;informations pour le moment :<\/p>\n<pre class=\"theme:dark-terminal lang:xhtml decode:true\">&lt;?xml version=\"1.0\"?&gt;\n&lt;!--\n** DO NOT EDIT THIS FILE.\n** If you make changes to this file while any VirtualBox related application\n** is running, your changes will be overwritten later, without taking effect.\n** Use VBoxManage or the VirtualBox Manager GUI to make changes.\n--&gt;\n&lt;VirtualBox xmlns=\"http:\/\/www.virtualbox.org\/\" version=\"1.15-linux\"&gt;\n  &lt;Machine uuid=\"{437ea587-87ad-40d8-942e-7963af03a9b2}\" name=\"linux2020\" OSType=\"Other\" snapshotFolder=\"Snapshots\" lastStateChange=\"2020-03-27T12:02:22Z\"&gt;\n    &lt;Hardware&gt;\n      &lt;CPU&gt;\n        &lt;PAE enabled=\"true\"\/&gt;\n        &lt;LongMode enabled=\"true\"\/&gt;\n        &lt;HardwareVirtExLargePages enabled=\"false\"\/&gt;\n      &lt;\/CPU&gt;\n      &lt;Memory RAMSize=\"128\"\/&gt;\n      &lt;Paravirt provider=\"Default\"\/&gt;\n      &lt;RemoteDisplay enabled=\"false\"\/&gt;\n      &lt;AudioAdapter driver=\"ALSA\" enabled=\"true\" enabledIn=\"false\" enabledOut=\"false\"\/&gt;\n    &lt;\/Hardware&gt;\n  &lt;\/Machine&gt;\n&lt;\/VirtualBox&gt;\n<\/pre>\n<p>On va donc maintenant configurer notre machine avant de booter sur l&rsquo;image ISO et y acc\u00e9der par RDP&#8230; sauf qu&rsquo;avant d&rsquo;aller plus loin, il faut \u00ab\u00a0enregistrer\u00a0\u00bb dans le syst\u00e8me notre nouvelle VM :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage registervm &lt;chemin&gt;\/linux2020\/linux2020.vbox<\/pre>\n<p>Puis on passera les parametres de la VM par l&rsquo;option \u00ab\u00a0modifyvm\u00a0\u00bb :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage modifyvm linux2020 --ostype RedHat_64 --memory 1024 --vram 8 --acpi on --cpus 2 --boot1 dvd --graphicscontroller vboxvga --firmware bios --nic1 bridged --bridgeadapter1 eno1 --cableconnected1 on --mouse ps2 --keyboard ps2 --vrde on<\/pre>\n<p>Explications sur toutes ces options :<\/p>\n<ul>\n<li>&#8211; -ostype est suivit de l&rsquo;ID de l&rsquo;OS qui sera install\u00e9; la liste des OS support\u00e9 peut \u00eatre trouv\u00e9 via la commande \u00ab\u00a0<strong><em>VBoxManage list ostypes<\/em><\/strong>\u00ab\u00a0<\/li>\n<li>&#8211; -memory est en M\u00e9ga Octect : 1024 Mo dans l&rsquo;exemple<\/li>\n<li>&#8211; -vram est la taille de la m\u00e9moire vid\u00e9o : 8 Mo dans l&rsquo;exemple<\/li>\n<li>&#8211; -acpi on : on active la gestion de l&rsquo;ACPI de la VM<\/li>\n<li>&#8211; &#8211; cpus : on donne le nombre de CPU que l&rsquo;on souhaite affecter \u00e0 la VM<\/li>\n<li>&#8211; -boot&lt;Num\u00e9roDeS\u00e9quence&gt; : le num\u00e9ro de s\u00e9quence est le num\u00e9ro d&rsquo;ordre du p\u00e9riph\u00e9rique qui permet de booter; dans cet exemple le premier p\u00e9riph\u00e9rique de boot sera le lecteur de DVD<\/li>\n<li>&#8211; -graphicontroller : d\u00e9fini le type de pilote vid\u00e9o qui sera utilis\u00e9 par la VM<\/li>\n<li>&#8211; -firmware : d\u00e9fini le type de microprogramme servant au d\u00e9marrage de la VM; ici dans l&rsquo;exemple, la machine est \u00e9quip\u00e9 d&rsquo;u BIOS<\/li>\n<li>&#8211; -nic&lt;Num\u00e9roInterface&gt; : d\u00e9fini comment est connect\u00e9 l&rsquo;interface r\u00e9seau qui porte le num\u00e9ro \u00ab\u00a0Num\u00e9roInterface\u00a0\u00bb; on peut avoir jusqu&rsquo;\u00e0 4 interfaces : dans l&rsquo;exemple, la carte r\u00e9seau sera mise en mode \u00ab\u00a0bridged\u00a0\u00bb<\/li>\n<li>&#8211; -bridgeadapter&lt;Num\u00e9roInterface&gt; : la carte r\u00e9seau d\u00e9fini ci-dessus ayant \u00e9t\u00e9 mise en mode \u00ab\u00a0bridge\u00a0\u00bb (aka \u00ab\u00a0pont\u00a0\u00bb), il faut la relier \u00e0 la carte r\u00e9seau de l&rsquo;hyperviseur qui apportera la connexion au r\u00e9seau. Dans l&rsquo;exemple, le nom de lcarte r\u00e9seau de l&rsquo;hyperviseur s&rsquo;appel \u00ab\u00a0eno1\u00a0\u00bb<br \/>\n<span style=\"text-decoration: underline;\"><strong>Note<\/strong><\/span> : on peut lister le nom des interfaces r\u00e9seau disponible en utilisant la commande \u00ab\u00a0<em>VBoxManage list bridgedifs<\/em>\u00ab\u00a0<\/li>\n<li>&#8211; -cableconnected&lt;Num\u00e9roInterface&gt; : d\u00e9fini l&rsquo;\u00e9tat de l&rsquo;interface, si elle est connect\u00e9 ou pas; dans l&rsquo;exemple, elle est forc\u00e9 \u00e0 connect\u00e9.<\/li>\n<li>&#8211; -mouse : d\u00e9fini le type de connexion de la souris; le mode \u00ab\u00a0ps2\u00a0\u00bb est utilis\u00e9 ici<\/li>\n<li>&#8211; -keyboard : d\u00e9fini le type de connexion du clavier; le mode \u00ab\u00a0ps2\u00a0\u00bb est utilis\u00e9 ici<\/li>\n<li>&#8211; -vrde : on d\u00e9fini si on souhaite avoir un retour \u00e9cran par le protocole RDP; ici on positionne cette option sur \u00ab\u00a0on\u00a0\u00bb pour l&rsquo;activer et le port par defaut sera 3389.<\/li>\n<\/ul>\n<p>Maintenant que notre VM est d\u00e9fini, il faut lui d\u00e9finir l&rsquo;ISO sur laquelle on va booter mais \u00e9galement d\u00e9finir une chose importante : le disque dur et sa taille !<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage createmedium disk --filename \"\/vm\/linux2020\/linux2020.vdi\" --size 1048576 --format VDI --variant Standard<\/pre>\n<p>Cette fois, on passe l&rsquo;option \u00ab\u00a0createmedium\u00a0\u00bb \u00e0 la commande principale \u00ab\u00a0VBoxManage\u00a0\u00bb; d\u00e9tails de la ligne de commande :<\/p>\n<ul>\n<li>disk : on indique que l&rsquo;on va cr\u00e9er un disque dur; d&rsquo;autres options sont possible pour cr\u00e9er d&rsquo;autres type de disques (DVD, etc&#8230;)<\/li>\n<li>&#8211; -filename : on va indiquer entre double quote, le chemin ou sera stock\u00e9 le disque. Je vous conseil de stocker ce disque dans le m\u00eame r\u00e9pertoire que celui qui contient la d\u00e9finition de votre VM (l\u00e0 ou est stock\u00e9 le fichier en .vbox). On indiquera un fichier avec l&rsquo;extension en \u00ab\u00a0.vdi\u00a0\u00bb qui est le standard sur VirtualBOX<\/li>\n<li>&#8211; -size : l&rsquo;option \u00e0 ne pas manquer, elle d\u00e9fini la taille en Mo du disque dur<\/li>\n<li>&#8211; &#8211; format : en relation avec la commande \u00ab\u00a0<em>filename<\/em>\u00ab\u00a0, on d\u00e9fini le format du stockage; dans mon exemple, on est sur un format de type \u00ab\u00a0VDI\u00a0\u00bb qui est le standad sur VirtualBOX<\/li>\n<li>&#8211; -variant : d\u00e9fini comment le disque va \u00eatre cr\u00e9\u00e9 sur votre hyperviseur; par defaut le fichier de votre disque grossira en fonction de ce que vous mettez dedans et ne prendra pas la totalit\u00e9 de la taille d\u00e9fini plus haut.<\/li>\n<\/ul>\n<p>Pour connecter notre disque dur, il nous faut \u00e9galement un port IDE :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage storagectl linux2020 --name IDE --add ide<\/pre>\n<p>On connecte le disque sur le bus IDE :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage storageattach linux2020 --storagectl IDE --port 0 --device 0 --type hdd --medium \"&lt;chemin&gt;\/linux2020.vdi\"<\/pre>\n<p>Maintenant que le disque dur est cr\u00e9e et connecter, on passe \u00e0 la cr\u00e9ation du lecteur de DVD et on va y monter une image ISO en connectant tout cela sur le bus IDE de la VM :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage storageattach linux2020 --storagectl IDE --port 1 --device 0 --type dvddrive --medium \"&lt;chemin&gt;\/redhat.iso\"<\/pre>\n<p>[tds_note]<\/p>\n<p>Pour d\u00e9monter une image ISO d&rsquo;un lecteur de DVD, la commande est simple :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage storageattach linux2020 --storagectl IDE --port 1 --device 0 --medium \"none\"<\/pre>\n<p>On remarquera que pour d\u00e9monter l&rsquo;image ISO, il suffit de passer \u00e0 l&rsquo;option \u00ab\u00a0<em>&#8211; -medium<\/em>\u00ab\u00a0, le param\u00e8tre \u00ab\u00a0<em>none<\/em>\u00a0\u00bb (<strong>NB<\/strong> : l&rsquo;option \u00ab\u00a0&#8211; -type\u00a0\u00bb n&rsquo;est pas obligatoire ici)<\/p>\n<p>[\/tds_note]<\/p>\n<p>Si vous avez bien suivi ce modop pour la cr\u00e9ation de la VM en ligne de commande (CLI), votre machine devrait \u00eatre pr\u00eate \u00e0 \u00eatre d\u00e9marr\u00e9e; mais avant, il peut \u00eatre bon de v\u00e9rifier son param\u00e9trage :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage showvminfo linux2020<\/pre>\n<p>[tds_council]<\/p>\n<p>Vous l&rsquo;aurez remarqu\u00e9 certainement, mais la commande principale ressemble toujours \u00e0 :<\/p>\n<p style=\"padding-left: 40px;\">VBoxManage &lt;option&gt; &lt;NomDeLaMachine&gt; &lt;option1&gt; [param\u00e8tre] [&lt;option2&gt; [param\u00e8tre] &lt;option3&gt; [param\u00e8tre] &#8230;]<\/p>\n<p>L&rsquo;ensemble de ces options peut \u00eatre retrouv\u00e9 sur <a href=\"https:\/\/www.virtualbox.org\/manual\/ch08.html\" target=\"_blank\" rel=\"noopener noreferrer\">la documentation officielle<\/a>.<\/p>\n<p>[\/tds_council]\u200b<\/p>\n<p>On lance maintenant la VM :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true\">root@hyperviseur:\/vm# VBoxManage startvm linux2020 --type headless\nWaiting for VM \"linux2020\" to power on...\nVM \"linux2020\" has been successfully started.\n<\/pre>\n<p>L&rsquo;option \u00ab\u00a0&#8211;type headless\u00a0\u00bb indique que la machine sera lanc\u00e9e sans affichage sur l&rsquo;\u00e9cran de l&rsquo;hyperviseur : en m\u00eame temps, cela ne fonctionnerait pas puisque l&rsquo;on est en mode console \/ CLI \ud83d\ude09 .<\/p>\n<p>Il ne reste plus qu&rsquo;\u00e0 lancer le client RDP de votre ordinateur pour acc\u00e9der \u00e0 l&rsquo;\u00e9cran de la VM. Sous Windows, vous pouvez rechercher \u00ab\u00a0RDP\u00a0\u00bb ou lancer la commande \u00ab\u00a0mstsc.exe\u00a0\u00bb :<\/p>\n<p><a  href=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_32_29-Modifier-l\u2019article-\u2039-Domorizon-\u2014-WordPress.jpg\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11855\" src=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_32_29-Modifier-l\u2019article-\u2039-Domorizon-\u2014-WordPress.jpg\" alt=\"\" width=\"407\" height=\"250\" srcset=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_32_29-Modifier-l\u2019article-\u2039-Domorizon-\u2014-WordPress.jpg 407w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_32_29-Modifier-l\u2019article-\u2039-Domorizon-\u2014-WordPress-300x184.jpg 300w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/a><\/p>\n<p>Apr\u00e8s avoir indiqu\u00e9 l&rsquo;adresse de votre hyperviseur et le port de connexion \u00e0 la VM (d\u00e9fini plus haut), vous devriez pouvoir visualiser l&rsquo;\u00e9cran de votre VM :<\/p>\n<p><a  href=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance.jpg\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-11861\" src=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance-700x487.jpg\" alt=\"\" width=\"700\" height=\"487\" srcset=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance-700x487.jpg 700w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance-300x209.jpg 300w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance-768x535.jpg 768w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance-570x397.jpg 570w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2020\/03\/2020-03-27-13_36_48-192.168.1.150_3389-Connexion-Bureau-\u00e0-distance.jpg 872w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Si vous devez arr\u00e9ter la VM depuis la console de votre hyperviseur, 2 choix s&rsquo;offrent \u00e0 vous :<\/p>\n<ul>\n<li>Mode ACPI : on envoie une commande au syst\u00e8me de la VM pour lui demander de s&rsquo;arr\u00e9ter&#8230;\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage controlvm &lt;nomDeLaVM&gt; acpipowerbutton<\/pre>\n<\/li>\n<li>Mode \u00ab\u00a0d\u00e9branchage \u00e9lectrique\u00a0\u00bb : cela arr\u00e8te la VM tout comme si vous d\u00e9branchiez \u00e9lectriquement votre ordinateur&#8230;. Avec ce mode, attention aux pertes de donn\u00e9es et probl\u00e8mes de stabilit\u00e9 de la VM (fsck, etc&#8230;)\n<pre class=\"theme:dark-terminal lang:sh decode:true\">VBoxManage controlvm &lt;nomDeLaVM&gt; poweroff<\/pre>\n<p>Il existe d&rsquo;autres commandes qui peuvent \u00eatre interressant :<\/p>\n<ul>\n<li>reset : lance un RESET de la VM<\/li>\n<li>savestate : sauvegarde l&rsquo;\u00e9tat de la machine<\/li>\n<li>resume : reprend l&rsquo;\u00e9tat ant\u00e9rieur de la VM<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>[tds_note]Les machines cr\u00e9\u00e9es en ligne de commande ne seront pas vu dans l&rsquo;interface de phpVirtualBox&#8230; et inversement ![\/tds_note]<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Depuis que je suis confin\u00e9 \u00e0 travailler depuis chez moi, j&rsquo;ai eu l&rsquo;envie de monter un environnement de machine sous Linux, toutes sur la m\u00eame machine hyperviseur.<br \/>[&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":11502,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[10,9,352],"tags":[338,85,341,369,366,340,339,362],"class_list":["post-11494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-systeme-dexploitation","category-virtualisation","tag-hyperviseur","tag-linux","tag-machine-virtuelle","tag-phpvirtualbox","tag-serveur-web","tag-virtualbox","tag-vm","tag-web"],"_links":{"self":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/11494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/comments?post=11494"}],"version-history":[{"count":29,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/11494\/revisions"}],"predecessor-version":[{"id":16926,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/11494\/revisions\/16926"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/media\/11502"}],"wp:attachment":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/media?parent=11494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/categories?post=11494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/tags?post=11494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}