domingo, 18 de noviembre de 2012

Problemas Virtuabox en Ubuntu 12.10

He tenido problemas con VirtualBox instalado directamente desde el repositorio APT de Ubuntu 12.10. Al intentar lanzar una de las máquinas virtuales obtuve el siguiente error:


Y sorprendentemente no existía /etc/init.d/vboxdrv, así que decidí como siempre había hecho instalar el .deb publicado en el proyecto virtualbox.

Pero antes tendría que desinstalar todos los paquetes asociados a virtuabox, para desinstalar por completo virtualbox desde apt, recomiendo ejecutes:
~$ sudo aptitude search virtualbox | grep ^i
i A virtualbox                      - x86 virtualization solution - base binarie
i   virtualbox-dkms                 - x86 virtualization solution - kernel modul
i   virtualbox-ose-dkms             - transitional package for virtualbox-dkms 
i   virtualbox-qt                   - x86 virtualization solution - Qt based use
Esto devolverá todos los paquetes instalados en el sistema que correspondan a virtualbox. Por defecto aptitude no está instalado en Ubuntu 12.10, si quieres utilizarlo tendrás que instalarlo con "sudo apt-get install aptitude"

Una vez identificados los paquetes que tienes instalados estás preparado para desinstalarlos. 
~$ sudo aptitude remove virtualbox virtualbox-dkms virtualbox-ose-dkms virtualbox-qt~$ sudo aptitude remove virtualbox virtualbox-dkms virtualbox-ose-dkms virtualbox-qt
Se ELIMINARÁN los siguientes paquetes:          
  libgsoap2{u} virtualbox virtualbox-dkms virtualbox-ose-dkms virtualbox-qt
0 paquetes actualizados, 0 nuevos instalados, 5 para eliminar y 0 sin actualizar.
Necesito descargar 0 B de archivos. Después de desempaquetar se liberarán 69,7 MB.
¿Quiere continuar? [Y/n/?]
Se ELIMINARÁN los siguientes paquetes:          
  libgsoap2{u} virtualbox virtualbox-dkms virtualbox-ose-dkms virtualbox-qt
0 paquetes actualizados, 0 nuevos instalados, 5 para eliminar y 0 sin actualizar.
Necesito descargar 0 B de archivos. Después de desempaquetar se liberarán 69,7 MB.
¿Quiere continuar? [Y/n/?]
Para instalarlo sin utilizar APT, primero tenemos que descargarlo. Para ello ejecutamos:

wget http://download.virtualbox.org/virtualbox/4.2.4/virtualbox-4.2_4.2.4-81684~Ubuntu~quantal_amd64.deb

Y para instalarlo:
sudo dpkg -i virtualbox-4.2_4.2.4-81684~Ubuntu~quantal_amd64.deb
Seleccionando paquete virtualbox-4.2 previamente no seleccionado
(Leyendo la base de datos ... 181581 ficheros o directorios instalados actualmente.)
Desempaquetando virtualbox-4.2 (de virtualbox-4.2_4.2.4-81684~Ubuntu~quantal_amd64.deb) ...
Configurando virtualbox-4.2 (4.2.4-81684~Ubuntu~quantal) ...
addgroup: El grupo `vboxusers' ya existe como grupo del sistema. Saliendo.
 * Stopping VirtualBox kernel modules                                                                                        [ OK ]
 * Uninstalling old VirtualBox DKMS kernel modules                                                                           [ OK ]
 * Trying to register the VirtualBox kernel modules using DKMS                                                                      Error! Your kernel headers for kernel 3.5.0-18-generic cannot be found.
Please install the linux-headers-3.5.0-18-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located

 * Failed, trying without DKMS
 * Recompiling VirtualBox kernel modules                                                                                           
 * Look at /var/log/vbox-install.log to find out what went wrong
Procesando disparadores para ureadahead ...
Procesando disparadores para shared-mime-info ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Procesando disparadores para bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para gnome-menus ...
Procesando disparadores para hicolor-icon-theme ...

Ahora si podemos ver que efectivamente falta por instalar linux-headers, este error no lo mostró la instalación desde apt del paquete virtualbox. Para instalar linux-headers ejecutamos:
sudo aptitude install linux-headers-generic
Después de instalar linux-headers volvermos a lanzar la instalación de virtualbox y esta vez sí es correcta.

sudo dpkg -i virtualbox-4.2_4.2.4-81684~Ubuntu~quantal_amd64.deb
(Leyendo la base de datos ... 205051 ficheros o directorios instalados actualmente.)
Preparando para reemplazar virtualbox-4.2 4.2.4-81684~Ubuntu~quantal (usando virtualbox-4.2_4.2.4-81684~Ubuntu~quantal_amd64.deb) ...
 * Stopping VirtualBox kernel modules                                                                                        [ OK ]
Desempaquetando el reemplazo de virtualbox-4.2 ...
Configurando virtualbox-4.2 (4.2.4-81684~Ubuntu~quantal) ...
addgroup: El grupo `vboxusers' ya existe como grupo del sistema. Saliendo.
 * Stopping VirtualBox kernel modules                                                                                        [ OK ]
 * Uninstalling old VirtualBox DKMS kernel modules                                                                           [ OK ]
 * Trying to register the VirtualBox kernel modules using DKMS                                                               [ OK ]
 * Starting VirtualBox kernel modules                                                                                        [ OK ]
Procesando disparadores para ureadahead ...
Procesando disparadores para shared-mime-info ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Procesando disparadores para bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para gnome-menus ...
Procesando disparadores para hicolor-icon-theme ...
Posiblemente si hubiera instalado linux-headers y el paquete de virtuabox en apt, todo hubiera funcionado correctamente. Pero también es verdad que el paquete de apt virtualbox debería arrastrar dependencia de linux-headers.