Comment installer des ajouts d'invité VirtualBox sur une machine virtuelle Debian

46

J'ai eu du mal à installer les additions invité de VirtualBox sur une machine virtuelle Debian (Debian 7, Debian 8 et Debian 9).

ximbal
la source

Réponses:

66

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)

Ça y est, les additions invité de VirtualBox sont installées.

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

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

  • pour Debian 7 et 8, activez les contribdépôts; par exemple pour Debian 8, assurez-vous que votre /etc/apt/sources.listcontient quelque chose comme

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

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

    to /etc/apt/sources.list(ou mieux encore, un stretch-backports.listfichier /etc/apt/sources.list.d);

  • install virtualbox-guest-dkms, en-têtes du noyau et, éventuellement, virtualbox-guest-x11(pour les utilitaires d'invité graphique):

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

    (avec -t stretch-backportsaprès installdans la deuxième ligne si vous utilisez Debian 9).

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

L'installation du virtualbox-guest-dkmspackage garantira que les modules de noyau appropriés sont automatiquement construits (et reconstruits lors de la mise à niveau du noyau), et installera les ajouts invités.

(Notez que cela installera la version des ajouts invités disponible dans la version de Debian que vous utilisez dans la machine virtuelle , ce qui peut ne pas correspondre à la version de Virtual Box exécutant la machine virtuelle, mais les ajouts invités devraient quand même fonctionner correctement.)

Stephen Kitt
la source
1
Confirmation de l’utilisation de Debian 8.3 - 3.16.0-4-amd64 - 3.16.51-3 (2017-12-13) Vous pouvez installer l’ajout «serveur uniquement» sans ajouter X-11 à l’aide d’apt-get install --no-install -recommode virtualbox-guest-utils virtualbox-invité-dkms linux-headers - $ (uname -r)
Marco Rossi
Des informations vraiment précieuses sur une installation efficace! J'ai choisi d'utiliser vagrant-vbguest comme suggéré par Richard à l'adresse superuser.com/a/1025183/187346 car je rencontrais des erreurs vagabondes avec des dossiers partagés car les ajouts d'invités n'étaient pas installés, mais les dossiers étaient spécifiés.
Colin
54

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

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

    su
    

entrez le mot de passe root et appuyez sur enter

sudo -ssinon, vous pouvez l'utiliser si vous l'avez installé et si l'utilisateur auquel vous êtes connecté a les droits nécessaires ...

  1. Mettre à jour le cache APT :

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

    Cette étape mettra à jour tous vos paquets, soyez donc sage. Essayez d’abord les étapes suivantes. Si elles ne suffisent pas, effectuez une mise à niveau et réessayez.

    apt-get upgrade
    
  3. Installez ces paquets requis:

    Les packages build-essentialet module-assistantles deux sont nécessaires pour pouvoir compiler les modules du noyau. Ainsi, lors de l’installation des additions invitées de VirtualBox Linux, vous devez les disposer. Ainsi, cette commande obtiendra les en-têtes et les packages (compilateurs et bibliothèques) nécessaires au bon fonctionnement. Notez qu’après l’installation de vos ajouts d’invités VirtualBox Linux, vous laisserez des paquets ainsi que des en-têtes Linux, que vous pourrez supprimer ultérieurement ou non. Dans mon cas, ils ne m'ont pas fait mal, mais par souci de propreté du système, vous voudrez peut-être jouer après avoir joué.

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

    m-a prepare
    
  5. Insérer ISO Additions invité:

    Développez le menu Appareils et cliquez sur Insérer une image du CD des ajouts d’invités ...

  6. Il devrait 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
    
ximbal
la source
3
Cela fonctionne pour Debian 9.
Ortomala Lokni
1
Sur Debian 9, cela donnait un message d'erreur disant "impossible de trouver les sources de votre noyau Linux actuel".
user2800708
2
Vous avez raté les en-têtes de noyau, veuillez essayersudo apt-get update && sudo apt-get install linux-headers-`uname -r`
ximbal
vérifiez également que vous avez une installation de virtualbox à jour
Hayden Thring le
2
La commande m-a preparedoit extraire le linux-headerspaquet, toutes les instructions fonctionnent correctement dans une installation de Debian 9.
alemani
5

Une alternative à l’installation d’addons invités VirtualBox à partir du référentiel Debian consiste à utiliser les sources du fournisseur. Le référentiel devrait fournir un code plus ancien et plus stable, tandis que les sources des fournisseurs 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 à l'aide de VirtualBox 5.0.30 et OS X 10.11.6. Commencez par attacher l'image ISO des addons invités à la machine virtuelle, puis démarrez-la. Après le démarrage, le contenu de l'image serait disponible dans /media/cdrom0/. Premièrement, il y a deux paquets et leurs dépendances à installer:

$ 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!

pdp
la source
4

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

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

    deb http://http.us.debian.org/debian sid main non-free contrib
    
  • Mise à jour des référentiels et installation du package

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

TimSC
la source
Cela semblait fonctionner jusqu'au moment où j'ai redémarré la machine virtuelle. après sa restauration, il reste "rsync" d au lieu de monter le répertoire de l'hôte actuel /vagrantsur la machine virtuelle. Étant donné que cette monture était la raison pour laquelle je voulais les ajouts invités, elle est toujours en panne.
offby1
Les backports extensibles ne sont-ils généralement pas préférables à l'utilisation de Sid?
Karl Bartel