Cómo instalar VirtualBox Guest Additions en una máquina virtual Debian


46

He estado luchando por instalar VirtualBox Guest Additions en una máquina virtual Debian (Debian 7, Debian 8 y Debian 9).

Respuestas:


66

La versión TL; DR para Debian 9 es, como 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)

Eso es todo, están instalados los VirtualBox Guest Additions.

VirtualBox no está disponible en Debian 10, y tampoco estará disponible en buster-backports. Lucas Nussbaum tiene un conjunto no oficial de paquetes; si desea usarlos, debe seguir sus instrucciones (solo vinculados; si el enlace deja de ser válido, los paquetes probablemente tampoco estén disponibles, por lo que copiar las instrucciones aquí no tiene sentido).

Más detalladamente, aquí está la solución para Debian 7, 8 y 9, usando paquetes Debian:

  • para Debian 7 y 8, habilite los contribrepositorios; Por ejemplo, para Debian 8, asegúrese de que /etc/apt/sources.listcontiene algo como

    deb http://ftp.debian.org/debian jessie main contrib
    
  • para Debian 9, habilite backports con contrib; para hacerlo, agregue una línea como

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

    a /etc/apt/sources.list(o mejor aún, un stretch-backports.listarchivo /etc/apt/sources.list.d);

  • instalar virtualbox-guest-dkms, encabezados de kernel y, opcionalmente, virtualbox-guest-x11(para las utilidades gráficas de invitados):

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

    (con -t stretch-backportsafter installen la segunda línea si está utilizando Debian 9).

Eso es todo lo que se necesita: no necesita montar las adiciones de invitados en su VM ni ejecutar el instalador. Puede agregar las tres líneas de invocaciones de shell a su Vagrantfile(o lo que sea que use para aprovisionar sus máquinas virtuales) y olvidarse de ellas.

La instalación del virtualbox-guest-dkmspaquete asegurará que los módulos de kernel apropiados se construyan automáticamente (y se reconstruyan cuando se actualice el kernel) e instalará las adiciones de invitados.

(Tenga en cuenta que esto instalará la versión de las adiciones de invitados disponibles en cualquier versión de Debian que esté utilizando en la VM , que puede no coincidir con la versión de Virtual Box que ejecuta la VM, pero las adiciones de invitados aún deberían funcionar bien).


1
Se confirmó que funciona para Debian 8.3 - 3.16.0-4-amd64 - 3.16.51-3 (2017-12-13) Puede instalar la adición "solo servidor" sin agregar X-11 con apt-get install --no-install -recomienda virtualbox-guest-utils virtualbox-guest-dkms linux-headers - $ (uname -r)
— Marco Rossi

¡Información realmente valiosa sobre una instalación eficiente! Opté por usar vagrant-vbguest como lo sugirió Richard en superuser.com/a/1025183/187346 porque seguía encontrándome con errores vagos con carpetas compartidas porque las adiciones de invitados no estaban instaladas pero las carpetas estaban especificadas.
— Colin

54

Siga estos pasos para instalar VirtualBox Guest Additions en su máquina virtual Linux Debian:

  1. Abra la terminal y conviértase root( su); si ha sudohabilitado, también puede hacer, por ejemplo sudo -i; ver man sudopara todas las opciones):

    su
    

ingrese la contraseña de root y presione enter

alternativamente, puede usarlo sudo -ssi lo tiene instalado y el usuario donde inició sesión tiene los derechos necesarios ...

  1. Actualizar caché APT :

    apt-get update
    
  2. Instale las últimas actualizaciones de seguridad:

    Este paso actualizará todos sus paquetes, así que sea prudente al respecto. Pruebe los siguientes pasos primero y puede que sean suficientes para funcionar si no, luego realice la actualización y vuelva a intentarlo.

    apt-get upgrade
    
  3. Instale estos paquetes requeridos:

    Los paquetes build-essentialy module-assistantambos son necesarios para poder compilar los módulos del kernel y, por lo tanto, al instalar VirtualBox Linux Guest Additions debe tenerlos. Entonces, este comando obtendrá los encabezados y paquetes (compiladores y bibliotecas) necesarios para funcionar. Tenga en cuenta que, después de instalar VirtualBox Linux Guest Additions, dejará algunos paquetes y encabezados de Linux, que puede eliminar después o no. En mi caso, no duelen, pero por el bien del sistema, es posible que desee retomar después de jugar.

    apt-get install build-essential module-assistant
    
  4. Configure su sistema para construir módulos de kernel:

    m-a prepare
    
  5. Insertar adiciones de invitados ISO:

    Expanda el menú Dispositivos y haga clic en Insertar imagen de CD de Guest Additions ...

  6. Debería montarse automáticamente, pero si por alguna razón no lo hace:

    mount /media/cdrom
    
  7. Ejecute el siguiente script:

    sh /media/cdrom/VBoxLinuxAdditions.run
    
  8. Reinicie el sistema:

    reboot
    

3
Esto funciona para Debian 9.
— Ortomala Lokni

1
En Debian 9, esto dio un mensaje de error que decía "no se pueden encontrar las fuentes de su núcleo Linux actual".
— user2800708

2
Te faltan los encabezados del kernel, por favor, intentasudo apt-get update && sudo apt-get install linux-headers-`uname -r`
— ximbal

también compruebe que tiene una instalación virtualbox actualizada
— Hayden Thring

2
El comando m-a preparedebe extraer el linux-headerspaquete, todas las instrucciones funcionan bien en una instalación de Debian 9.
— alemani

5

Una alternativa a la instalación de complementos invitados de VirtualBox desde el repositorio de Debian es utilizar fuentes del proveedor. Se espera que el repositorio proporcione código más antiguo y más estable, mientras que las fuentes del proveedor tendrán las últimas características y actualizaciones de seguridad.

He intentado con éxito las siguientes instrucciones en el invitado Debian 9.4 que ejecuta el kernel de Linux 4.9.0-4 usando VirtualBox 5.0.30 y OS X 10.11.6. Primero, adjunte la imagen ISO de los complementos invitados a la máquina virtual y luego iníciela. Después del arranque, el contenido de la imagen estaría disponible en /media/cdrom0/. Primero, hay dos paquetes y sus dependencias que deben instalarse:

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

Luego, ejecute el script proporcionado por el proveedor que construye e instala los módulos de kernel necesarios:

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

¡Reinicia la máquina virtual y disfruta!


4

En Debian 9, el paquete virtualbox-guest-dkms está en el repositorio inestable (sid).

  • Agregue esto a /etc/apt/sources.list:

    deb http://http.us.debian.org/debian sid main non-free contrib
    
  • Actualizar repositorios e instalar paquete

    sudo apt-get update
    sudo apt-get install virtualbox-guest-dkms
    
  • Opcionalmente: deshabilite el repositorio sid, ya que tiene actualizaciones para paquetes que quizás no desee.


Esto pareció funcionar hasta el punto en que reinicié la máquina virtual; después de que volvió a funcionar, todavía "rsync" d en lugar de montar el directorio host actual /vagranten la VM. Dado que esa montura fue la razón por la que quería las adiciones de invitados, todavía está efectivamente rota.
— offby1

¿Por lo general, no son preferibles los backports estirados a usar sid?
— Karl Bartel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.