VirtualBox es una aplicación que nos permite ejecutar diferentes Sistemas Operativos simultáneamente en el mismo equipo de manera virtual.
Me decidí instalar la versión que trae
modulos cerrados ya que tiene algunas ventajas sobre la versión libre. para ver estas diferencias ingresen
aquiBueno, manos a la obra!
Agregar el siguiente repositorio a nuestro
source.
listdeb http://download.virtualbox.org/virtualbox/debian lenny non-free
Para aquellos distraídos lo hacemos con el siguiente
comandito:
# vim /etc/apt/source.list
Descargamos
The Sun public keywget http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
Agregar la clave
# apt-key add sun_vbox.asc
Actualizamos la lista de paquetes:
#apt-get update
Instalamos:
apt-get install virtualbox-2.1
Hecho! Recuerdo cuando usaba
etch, había algunos inconvenientes, al parecer en esta versión de
virtualbox y con la nueva versión de kernel incorporada estos fueron solucionados, pero por si acaso, lean esta sección...
Instalar Guest Additions cuando virtualizamos un debian:
Ejecutar en una terminal los siguientes comandos:
# aptitude install gcc linux-headers-$(uname -r) make
en la ventana de VirtualBox seleccionar las siguientes opciones del menú, debe verificarse que no se tenga montando un medio en la unidad de CD/DVD previamente.
Devices > Install Guest Additions ...
en la terminal ejecutar los siguientes comandos:
# cd /media/cdrom
# sh VBoxLinuxAdditions-x86.run
Después de instaladas las aplicaciones adicionales es necesario reiniciar el sistema operativo huésped:
# reboot
Solucion de algunos problemas que pueden aparecer
Para poder usar
VirtualBox hay que darle permisos al usuario de que lo utilice, para ello editamos "/etc/
group" y agregamos nuestro usuario al grupo
vboxusers, quedando
asi:
vboxusers:x:xxxx:nuestro_usuario
o hacerlo de una con el siguiente comando:
gpasswd -a nuestro_usuario vboxusers
A veces esto no es suficiente, por lo que al ejecutar
VirtualBox puede marcar un error de escritura en "/
dev/
vboxdrv". Esto se soluciona nombrando como propietario de "/
dev/
vboxdrv" a nuestro usuario:
# chown nuestro_usuario:nuestro_usuario /dev/vboxdrv
Reiniciamos el servicio:
# /etc/init.d/vboxdrv restart
Usando el USBPara poder utilizar los puertos
USB en la maquina virtual, vamos a crear un grupo al que llamaremos "
usbusers" y le asignaremos el
GID 1100.
Despues habra que agregar nuestro usuario a este grupo.
# addgroup --gid 1100 usbusers
# gpasswd -a nuestro_usuario usbusers
Ahora necesitamos modificar un
script del sistema que se encarga entre otras cosas, de cargar el sistema de ficheros
usbfs.
# vim /etc/init.d/mountkernfs.sh
Nos vamos a la linea 70 y dejamos la linea que comienza con "
domount" como aparece a continuación:
if [ -d /proc/bus/usb ]
then
domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devgid=1100,devmode=0664
Una vez hechas estas modificaciones, reiniciamos el equipo.
Compartir carpetasPara poder compartir archivos entre el Host Virtual (Invitado) y el Anfitrión es necesario instalar en el Host Invitado la aplicación "virtual box Guest Additions".
Pasos a seguir:
- Instalar "virtual box Guest Additions". Cuando la maquina virtual se este ejecutando, hacer clic en el menú "Dispositivos" y luego en "instalar Guest Additions". Guest Additions es un conjunto de utilidades que mejoran las capacidades del sistema virtualizado, entre ellas el compartir carpetas.
- Apagar la maquina virtual
- Compartir la carpeta en el Host Anfitrión con el comando:
VBoxManage sharedfolder add "Nombre_Maquina_Virtual" -name "nombre_a_mostrar" -hostpath "/ruta/carpeta/compartida"
- También se puede compartir desde La configuracion de la maquina en La opción "Directorios compartidos"
- Iniciar la maquina virtual.
Para acceder a la carpeta compartida:
- En Windows hacer: ir a "Mi PC" luego precionar el boton que dice "Carpetas", luego expandir "Mis Sitios de red", expandir "Toda la Red" expandir "VirtualBoxShared Folders" y aqui apareceran las carpetas compartidas.
Tambien puede mapear la unidad de red con: net use z: vboxsrvNombre_Carpeta_compartida
- En Linux se monta la unidad con: mount -t vboxsf [-o OPTIONS] nombre_carpeta_Compartida /ruta/donde/se/desea/montar
Para ver las carpetas que tiene compartidas desde el Host Anfitrion se hace con: VBoxManage list vms o desde las configuraciones de la maquina en la Opcion "Directorios compartidos"
Podran leer y escribir en la carpeta compartida desde la maquina virtual.
Habilitar el Copy-Paste entre el Host Anfitrión y el InvitadoPara poder utilizar esta función es necesario instalar en el Host Invitado la aplicación "virtual box Guest Additions".
- En un Host Invitado con Windows cuando la maquina virtual se este ejecutando, haga clic en el menú "Dispositivos" y luego en "instalar Guest Additions".
- En un Host Invitado con GNU/Linux se requiere instalar los headers del kernel que se este usando. Para saber el kernel que usamos tecleamos "uname -r". Ejemplo: si tenemos el kernel "2.6.18-5-486" instalamos el paquete "linux-headers-2.6.18-5-486":
# aptitude install linux-headers-2.6.18-5-486- Ahora hacemos clic en el menu "Dispositivos" y luego en "instalar Guest Additions". Esto nos montara un CD-ROM virtual. Nos vamos a /media/cdrom/ e instalamos el paquete VBoxLinuxAdditions.run y luego reiniciamos o apagamos la maquina virtual:
# cd /media/cdrom
# sh VBoxLinuxAdditions.run
# poweroff - Ya que instalamos "virtual box Guest Additions" ahora nos vamos en el administrador de VirtualBox, entramos a la configuración de la maquina virtual, en la opción "General", en la pestaÃḟa "Avanzado" en la opción "Portapapeles Compartidos" seleccionamos: "Anfitrión a Huesped", "Huesped a Anfitrión" o "Bidireccional" según lo deseado.
Configurar la maquina virtual para que forme parte de la red localPara entender mejor como configurar la red es necesario una breve explicación de las posibles configuraciones de la red. Al configurar la red de la máquina virtual se pueden elegir entre las siguientes opciones:
- Not attached (No conectado).- Sirve para desactivar la tarjeta de red virtual, por lo que no tendrá acceso a ninguna red
- NAT .- Sirve basicamente para acceder a Internet, descargar archivos y enviar correos, pero las funciones avanzadas de red no estran habilitadas. La maquina virtual obtiene una IP de un router que viene siendo VirtualBox y que funciona como DHCP asignando una IP 10.0.2.0 a la primera interface y 10.0.3.0 a la segunda interface, el trafico de la maquina virtual es transparente.
- Host Interface Networking (Interface Anfitrion) .- Simulacion de una red real, el Host puede enviar datos al invitado y viceversa, se puede conectar a la red. Se tiene que crear una interface de red virtual en el Host anfitrión por cada tarjeta (interface) de red que use(n) la(s) maquina(s) virtual(es)
- Internal Networking (Red Interna) .- Similar a "Host Interface Networking", sin embargo el acceso a Internet es limitado, de esta manera se mejora la seguridad y velocidad.
La que nos interesa es
"Host Interface Networking (Interface Anfitrion)". Esta configuración sirve para configurar la máquina virtual para forme parte de la red.
Configurar la maquina virtual como Host Interface Networking (Interface Anfitrión)A grandes rasgos lo que se tiene que hacer para configurar interfaces permanentes en el Host anfitrión con GNU/Linux es:
- Crear un puente a la interfaz real. Esto permite compartir la interfaz fÃsica entre la interfaz real y la virtual
- Por cada tarjeta de red virtual (invitada) usada, debe ser creado un nueva interfaz virtual en el Host padre (llamada tap0 o vbox0 similar) y agregada esta interfaz al puente.
- Finalmente especificar la nueva interfaz en las configuraciones de la tarjeta de red virtual de la maquina virtual.
Ahora veremos detalladamente los pasos para configurar interfaces permanentes en el Host Anfitrión con Debian y derivadas:
1- Instalar el paquete "uml-utilities" en el Anfitrión, que contienen herramientas para crear tarjetas de red virtuales y el paquete de utilerías bridge "bridge-utils". Generalmente se instalan con el sistema base.
# apt-get install uml-utilities
# apt-get install bridge-utils
Para que el usuario que ejecutara la maquina virtual tenga acceso a la interfaz, el usuario tendrá que pertenecer al grupo "uml-net" por lo que hay que agregarlo:
# gpasswd -a usuario uml-net
Esto modificara el archivo "/etc/group/" quedando la linea del grupo uml-net asi:
uml-net:x:NNN:usuario
2- Editar el archivo "/etc/network/interfaces" para declarar la interfaz de red virtual a utilizar por el Host Invitado especificando la interfaz a utilizar (tap0) y usuario que la usara, para ello agregamos las siguientes lineas:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario
Modifique usuario por el usuario que ejecutara la maquina virtual.
Es importante que nuestra interfaz real (ejemplo eth0) este comentada o que no tenga asignada una IP del mismo rango, de lo contrario el Host Anfitrion no saldra a Internet.
3- La primera vez que se use, se debe activar el el bridge y la interfaz creada con los siguientes comandos:
# /sbin/ifup tap0
# /sbin/ifup br0
Esto solo es necesario la primera vez, las siguientes veces se activaran automaticamente.
4.- En el archivo "/etc/network/interfaces" hay que declarar el bridge (llamado br0) y agregar la interfaz creada al mismo:
auto br0
iface br0 inet dhcp
bridge_ports all tap0
Tambien, se puede asignar una IP estatica dependiendo de las necesidades.
Si hemos seguido correctamente los pasos del 2 al 4, en "/etc/network/interfaces" y deseamos unir a la red dos maquinas virtuales deberiamos tener el siguiente contenido:
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
#auto eth0
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario
auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario
auto br0
iface br0 inet dhcp
bridge_ports all tap0 tap1
NOTA: las interfaces virtuales declaradas y que formen parte de un bridge no deben tener ninguna direccion IP asignada, por ello se pone "0.0.0.0" en vez de una IP real.
5.- Reiniciamos el servicio networking:
# /etc/init.d/networking restart
6.- Modifique la configuracion de la maquina virtual. Esto se hace desde la aplicacion VirtualBox, en "Configuraciones", "Red", "Attached to", modificando un adaptador de red y especificando "Host Interface Networking"/"Interface Anfitrion" y en el campo "Interface name" tecleamos "tap0" o "tap1" dependiendo del nombre de interfaz virtual configurada en "/etc/network/interfaces".
7.- Finalmente vaya al Host Virtual (Invitado) y configure los paramentros de red apropiadamente.
Clonar una maquina virtual
- Nos ubicamos donde estan guardados los vdi (/home/usuario/.VirtualBox/VDI) y clonamos el vdi con un UUID diferente:
$ cd /home/usuario/.VirtualBox/VDI
$ VBoxManage clonevdi NombreOriginal.vdi NuevoNombre.vdi
- Desde el administrador de VirtualBox creamos una nueva maquina; elegimos el mismo sistema operativo y otro nombre para la nueva maquina, asignamos memoria. En disco duro elegimos existente y elegimos el creado en el paso anterior (NuevoNombre.vdi) y listo ya tenemos una nueva maquina virtual identica.
Importar una maquina virtualUna vez abierta la pantalla principal del VirtualBox hay que ir a
Archivos->Virtual Media Manager para añadir la imagen de disco que hayamos guardado en un lugar conocido, para eso pulsamos en el botón
Agregar sólo tenemos que seleccionar el fichero
.vdi que contiene un disco duro virtual, normalmente con algo instalado en él.
Una vez hecho esto, sólo tenemos que crear una nueva Máquina (boton Nueva desde la pantalla principal) y seguir el sencillo asistente que se nos presenta. La única
diferencia está en que en el paso de elección de disco virtual, en lugar de crear un disco con el botón que se nos muestra,
elegimos del ComboBox la imagen que hemos añadido en la etapa anterior.
Debo de reconocer que el articulo no es mio, si no recuerdo mal creo que era de
esdebian con algunos agregados propios...