jueves 29 de noviembre de 2007

VirtualBox es el competidor de qemu , vmware , xen, parallels,... , el cual ademas se distribuye gratuitamente al usuario final bajo licencia GPL (la version opensource; los binarios estan sujetos a ciertas restricciones)

1- Instalacion
2- Añadir vboxguestadditions
3- Combinaciones de teclas
4- Añadir directorio compartido
5- Networking (en proceso de elaboracion)
6- Añadir dispositvos USB

  1. Instalacion

    Para descargarlo , solo hay que bajarse el paquete .deb correspondiente a nuestra distribucion desde:

    http://www.virtualbox.org/wiki/Downloads

    Luego lo instalamos con un :

    $ sudo dpkg -i nombredelpaquete.deb

    Yo en edgy no he tenido ningun problema de dependencias pero si te encuentras con alguno , prueba con las siguientes dependencias:

    libqt3-mt libxalan110 libxerces27

    Si todo se ha instalado perfectamente, solo nos queda añadir nuestro usuario de linux al grupo de usuarios de virtualbox:

    $ sudo usermod -G vboxusers -a nombre_de_usuario # despues de esto hay que desloguearse y volver a loguearse

    El programa es muy intuitivo asi que no voy a explicar como crear maquinas virtuales-

    Si despues de instalarlo al lanzar una maquina virtual nos de un error sobre el modulo del programa (VBox status code: -1909 VERR_VM_DRIVER_NOT_ACCESSIBLE), se arregla con un:

    $ sudo chmod 666 /dev/vboxdrv

  2. Instalar los guest additions

    Los "guest Additions" incrementaran notablemente el rendimiento del sistema invitado asi como mayor operatividad entre el sistema host e invitado.

    Lanzamos VirtualBox, nos dirigimos a settings y clicamos en la pestaña de cd/dvd. Desde alli elegimos
    "Mount cd/dvd drive" y marcamos "iso image file". Si no sale por defecto "VBoxGuestadditions.iso" le damos a select y lo eligimos desde ahi (en linux se encuentra en /opt/VirtualBox-1.3.2/additions/VBoxGuestAdditions.iso).

    • Si el sistema invitado es windows (no soporta windows98):

      Sera tan sencillo como dirigirnos a nuestra unidad de cdrom dentro del guest y clicar sobre el .exe

    • Si el sistema invitado es linux deberemos bajarnos antes el compilador gcc , el make y los headers de nuestro kernel. Lo siguiente se ha de hacer desde una terminal del sistema invitado:

      $ sudo aptitude install gcc-4.0 # elegir el gcc con el que este compilado vuestro kernel
      $ sudo aptitude install make
      $ sudo aptitude install linux-headers-`uname -r`

      Ahora debemos decirle que compilador de gcc usar:

      $ sudo ln -s /usr/bin/gcc-4.0 /usr/bin/gcc

      Ahora debemos mirar si esta montado el cdrom; si no lo esta, hacer:

      $ mount /dev/cdrom directorio _dde _queremos _que _se _monte # este ultimo parametro es opcional

      Ahora nos situamos dentro del directorio donde esta montado el cdrom y hacemos

      $ sudo ./VBoxlinuxAdditions.run

      Si no deja ejecutar el archivo por problemas de permisos, debereis copiar el archivo por ejemplo a vuestar carpeta de usuario en home y darle permisos de ejecucion:

      $ cp VBoxlinuxAdditions.run /home/nombre_de_usuario

      $ cd # con esta sencilla orden nos situaremos dentro de /home/nombre_de_usuario_actual

      $ sudo chmod -R 777 VBoxlinuxAdditions.run

      Y ahora si podeis hacer :

      $ sudo ./VBoxlinuxAdditions.run

      Reiniciamos el sistema invitado

  3. Combinaciones de teclas:

    CTRL(derecho) : para sacar el puntero del raton del guest al host
    CTRL(derecho) + F : para entrar o salir de la pantalla completa
    CTRL(derecho) + DEL : envia un CONTROL + ALT + DEL al sistema invitado
    CTRL(derecho) + BACKSPACE : envia un CONTROL + ALT + BACKSPACE al sistema invitado
    ....

  4. Para añadir un directorio compartido hacer:

    (requisito es tener ya instalados los vBoxGuestAdditions)

    $ VBoxManage sharedfolder add "nombremaquinavirtual" -name "unnombre" -hostpath "directorioacompartido"

    Ahora para acceder a la particion desde un sistema invitado hacer (segun corresponda):

    • Para sistema invitado windows - teclear en la ventana de terminal (command.com):

      net use x: \\vboxsvr\unnombre

      Tambien se puede agregar el directorio haciendo clic derecho en mi pc y seleccionar "conectar a unidad de red". En unidad elegimos la letra que queremos para la carpeta compartida y en carpeta escribimos "\\vboxsvr\unnombre"

    • Para sistema invitado linux - teclear en una ventana de terminal:

      mount -t vboxsf unnombre puntodemontaje

    Para deshabilitar el directorio compartido

    $ VBoxManage sharedfolder remove "nombredelaquinavirtual" -name "nombredeldirectoriocompartido"

  5. Networking (en proceso)

    Para empezar, NAT es de lejos la forma mas facil de conectar el sistema invitado a la red; pero en el caso de que quieras hacer un server (darle una ip propia) con el sisteaa invitado, deberas habilitar Host-Networking.

    Necesitaras descargar las siguientes dependencias para crear el dispositivo tap y añadirlo al bridge:

    $ sudo apt-get install bridge-utils uml-utilities

    Ahora haz un bridge y pon tu interfaz en el:

    $ sudo tunctl -t tap1 -u nombre #donde nombre se refiere al nombre de usuario que va a ejecutar virtualbox
    $ sudo chmod 666 /dev/net/tun

    Hacer un nuevo bridge llamado br0

    $ sudo brctl addbr br0

    Pon tu interface actual (en este caso eth0) en modo promiscuo (he leido en algun sitio que usar el modo promiscuo es riesgo de seguridad , avisados estais), luego añadelo al bridge y dale al bridge una direccion dhcp

    $ sudo ifconfig eth0 0.0.0.0 promisc
    $ sudo brctl addif br0 eth0
    $ dhclient br0

    añade el nuevo dispositivo tap1 al bridge

    $ sudo brctl addif br0 tap1

    Ahora deberias ser capaz de usar host networking en virtualbox, solo cambia "attached to" a "host interface" y añade el nombre de la interfaz tap1 en tu configuracion de red.

    Lee el manual tambien, hay otras maneras de hacer esto.

    Añado informacion extra:

    Algunas cosas para hacer lo siguiente mas facil de entender. Mi eth0 en mi host es 192.168.0.45 .Mi tap0 va a ser 192.168.0.94 (totalemente arbitrario.. hazle un ping primero, para estar seguro de que esta libre. El user (usuario) en el primer comando es el usuario con el que estas logueado (que asumo sera el mismo con el que ejecutaras VirtualBox).

    Los 7 primeros pasos son los mismos que los anteriormente puestos. Los siguientes se añaden como necesarios para que funcione:

    $ sudo tunctl -t tap0 -u user
    $ sudo chmod 666 /dev/net/tun
    $ sudo /usr/sbin/brctl addbr br0
    $ sudo /sbin/ifconfig eth0 0.0.0.0 promisc
    $ sudo /usr/sbin/brctl addif br0 eth0
    $ sudo /sbin/dhclient br0
    $ sudo /usr/sbin/brctl addif br0 tap0
    $ sudo ifconfig tap0 192.168.0.94 up
    $ sudo bash -c 'echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp'
    $ sudo route add -host 192.168.0.45 dev tap0
    $ sudo arp -Ds 192.168.0.45 eth0 pub

    Añade tap0 como nombre dentro de VirtualBox en la pestaña "Virtual machine/Network Tab/Adapter 0"
    Salva y ejecuta la maquina virtual.

    Solo añadir que la direccion ip del host desde el guest es: 10.0.2.2

  6. Como añadir un dispositvo USB.

    Admite dispositivos tanto 1.1 como 2.0; aunque una pequeña parte del codigo se basa sobre qemu, no existe restriccion a ningun dispositivo USB, todos deberian funcionar. Como ejemplo , el bluetooth no estaba soportado en qemu y aqui si lo esta, comprobado.

    Crea el grupo usbusers y añade el usuario que lanzara virtualbox en el grupo usbusers .(Sistema-administracion-usarios y grupos-gestionar grupos-añladir grupos)

    En una terminal escribe:

    $ VBoxManage list usbhost

    UUID: 5763f299-2206-4eb1-b283-998feb4d7ea4
    VendorId: 0x0a12 (0A12)
    ProductId: 0x0001 (0001)
    Revision: 5.37 (0537)
    Address: /proc/bus/usb/001/004
    Current State: Busy

    Y quedate con los numeros ID y vendor del dispositivo USB que quieras habilitar. En la seccion settings de la maquina virtual, en la pestaña USB, añade los numeros anteriores donde correspondan.
    Quedate tambien con la linea que diga la direccion del dispositivo:

    Address: /proc/bus/usb/001/004

    Ahora damos permisos de escritura, lectura y ejecucion sobre el dispositivo:

    $ sudo chmod 777 /proc/bus/usb/001/004

    O puedes lanzar el virtualbox como root:

    $ sudo VirtualBox

    Otra forma de hacerlo es editando el fichero /etc/fstab y añadiendo un grupo (yo lo he llamado usbusers). Linea a inlcuir en el /etc/fstab:

    # 1002 es el grupo con acceso a USB
    none /proc/bus/usb usbusers devgid=1002,devmode=664 0 0

    Añado informacion extra sobre dispositvos usb

    Por favor lee el capitulo 5.1.6 del manual de usuario http://www.virtualbox.org/download/UserManual.pdf

    Los permisos del usuario ejecutando VirtualBox deberian permitir acceder (leer/ejecutar) al correspondiente dispositivo USB encontrado en "/proc/bus/usb/*". Los permisos del dispositivo USB encontrados en este directorio son elegidos por udev, de acuerdo con el tipo de dispositivo. Por ejemplo, un scanner USB es asignado al grupo "scanner". Por favor revisa primero a que archivo del dispositivo deberia acceder VirtualBox; "lsusb -v" deberia decirte el numero del dispositivo/USB; luego chequea los permisos de ese archivo. Udev deberia requerir una regla en /etc/udev. Si tu distribucion no usa udev puedes cambiar los permisos permanentemente con chmod.

HowTo bajo los terminos de licencia Creative Commons. Mas informacion aqui:
http://creativecommons.org/licenses/by-nc-sa/2.5/es/deed.es

Fuentes:
http://www.virtualbox.org/wiki/User_FAQ
http://doc.ubuntu-fr.org/virtualbox
http://www.ubuntuforums.org/showthread.php?t=338931
http://forum.ubuntu-fr.org/viewtopic.php?id=89503&p=1
https://help.ubuntu.com/community/VirtualBox
http://www.ubuntuforums.org/showthread.php?t=341740
http://vbox.innotek.de/pipermail/vbox-users/2007-January/000036.html
http://www.ubuntuforums.org/showthread.php?t=346185


4 comentarios:

Anónimo dijo...

I found this site using [url=http://google.com]google.com[/url] And i want to thank you for your work. You have done really very good site. Great work, great site! Thank you!

Sorry for offtopic

Anónimo dijo...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

Anónimo dijo...

[url=http://moodlee.alphaplus.ca/auth/manual/news.php]viagra professional uk[/url]

Anónimo dijo...

Did you know that USA and Europe blocked Wikileaks? What do you think about it?
Hope for no silence