web-dev-qa-db-fra.com

Comment installer VirtualBox Guest Additions dans une machine virtuelle Debian

J'ai eu du mal à installer VirtualBox Guest Additions dans une machine virtuelle Debian (Debian 7, Debian 8 et Debian 9).

50
ximbal

Suivez ces étapes pour installer les compléments d'invité VirtualBox sur votre machine virtuelle Linux Debian:

  1. Ouvrez le terminal et devenez root ( su ); si vous avez Sudo activé, vous pouvez également faire par exemple Sudo -i; voir man Sudo pour toutes les options):

    su
    

entrez le mot de passe root et appuyez sur entrée

vous pouvez également utiliser Sudo -s si vous l'avez installé et que l'utilisateur auquel vous êtes connecté dispose des droits nécessaires ...

  1. Mettre à jour APT cache:

    apt-get update
    
  2. Installez les dernières mises à jour de sécurité:

    Cette étape mettra à niveau tous vos packages, alors soyez prudent. Essayez d'abord les étapes suivantes et elles pourraient suffire, sinon effectuez la mise à niveau et réessayez.

    apt-get upgrade
    
  3. Installez ces packages requis:

    Paquets build-essential et module-assistant sont tous les deux nécessaires pour pouvoir compiler les modules du noyau et donc lors de l'installation des compléments invité VirtualBox Linux, vous devez les avoir. Ainsi, cette commande obtiendra les en-têtes et les packages (compilateurs et bibliothèques) nécessaires pour fonctionner. Remarquez qu'après l'installation de vos ajouts d'invité VirtualBox Linux, vous laisserez derrière vous certains packages ainsi que des en-têtes Linux, que vous pourriez supprimer par la suite ou non. Dans mon cas, ils n'ont pas fait de mal, mais pour le bien du système, vous voudrez peut-être reprendre après avoir joué.

    apt-get install build-essential module-assistant
    
  4. Configurez votre système pour construire des modules du noyau:

    m-a prepare
    
  5. Insérer les ajouts d'invités ISO:

    Développez le menu Périphériques et cliquez sur Insérez l'image du CD Guest Additions ...

  6. Il devrait se monter automatiquement, mais si pour une raison quelconque il ne le fait pas:

    mount /media/cdrom
    
  7. Exécutez le script suivant:

    sh /media/cdrom/VBoxLinuxAdditions.run
    
  8. Redémarrez le système:

    reboot
    
60
ximbal

La version TL; DR pour Debian 9 est, en tant que root:

echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)

Voilà, les compléments d'invité VirtualBox sont installés.

VirtualBox n'est pas disponible dans Debian 10 et ne sera pas disponible dans buster-backports Soit. Lucas Nussbaum a un ensemble non officiel de packages; si vous voulez les utiliser, vous devez suivre ses instructions (lié uniquement - si le lien cesse d'être valide, les packages ne sont probablement pas disponibles non plus, donc copier les instructions ici est inutile).

Plus en détail, voici la solution pour Debian 7, 8 et 9, en utilisant des paquets Debian:

  • pour Debian 7 et 8, activez les référentiels contrib; par exemple pour Debian 8, assurez-vous que votre /etc/apt/sources.list contient quelque chose comme

    deb http://ftp.debian.org/debian jessie main contrib
    
  • pour Debian 9, activez les rétroportages avec contrib; pour ce faire, ajoutez une ligne comme

    deb http://ftp.debian.org/debian stretch-backports main contrib
    

    à /etc/apt/sources.list (ou mieux encore, un stretch-backports.list fichier dans /etc/apt/sources.list.d);

  • installer virtualbox-guest-dkms, les en-têtes du noyau et, éventuellement, virtualbox-guest-x11 (pour les utilitaires graphiques invités):

    Sudo apt update
    Sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
    

    (avec -t stretch-backports après install sur la deuxième ligne si vous utilisez Debian 9).

C'est tout dont vous avez besoin - vous n'avez pas besoin de monter les ajouts d'invités dans votre machine virtuelle ou d'exécuter le programme d'installation. Vous pouvez ajouter les trois lignes d'appels Shell à votre Vagrantfile (ou tout ce que vous utilisez pour provisionner vos VM) et les oublier.

Installation de virtualbox-guest-dkms package garantira que les modules de noyau appropriés sont automatiquement construits (et reconstruits lorsque le noyau est mis à niveau), et installera les ajouts invités.

(Notez que cela installera la version des ajouts invités disponibles dans la version de Debian que vous utilisez dans la machine virtuelle , qui peut ne pas correspondre à la version de Virtual Box exécutant le VM - mais les ajouts d'invités devraient toujours fonctionner correctement.)

67
Stephen Kitt

Une alternative à l'installation des modules complémentaires invités VirtualBox à partir du référentiel Debian est d'utiliser les sources du fournisseur. Le référentiel devrait fournir du code plus ancien et plus stable tandis que les sources du fournisseur disposeront des dernières fonctionnalités et mises à jour de sécurité.

J'ai essayé avec succès les instructions suivantes sur l'invité Debian 9.4 exécutant le noyau Linux 4.9.0-4 en utilisant VirtualBox 5.0.30 et OS X 10.11.6. Commencez par attacher l'image ISO des modules complémentaires invités à la machine virtuelle, puis démarrez-la. Après le démarrage, le contenu de l'image serait disponible dans /media/cdrom0/. Tout d'abord, deux packages et leurs dépendances doivent être installés:

$ Sudo apt-get install linux-headers-$(uname -r) build-essential

Ensuite, exécutez le script fourni par le fournisseur qui construit et installe les modules de noyau nécessaires:

$ cd /media/cdrom0/
$ Sudo sh VBoxLinuxAdditions.run

Redémarrez la machine virtuelle et profitez-en!

5
pdp

Dans Debian 9, le paquet virtualbox-guest-dkms est dans le référentiel unstable (sid).

  • Ajoutez ceci à /etc/apt/sources.list:

    deb http://http.us.debian.org/debian sid main non-free contrib
    
  • Mettre à jour les référentiels et installer le package

    Sudo apt-get update
    Sudo apt-get install virtualbox-guest-dkms
    
  • Facultativement: désactivez le référentiel Sid, car il contient des mises à jour pour les packages que vous ne souhaitez peut-être pas.

4
TimSC