PDA

Ver la Versión Completa : Compartir Carpetas – Linux Virtualizado



Xripox
16/09/2010, 16:24
En este post documentaré como he logrado compartir carpetas entre Mac OS X y una máquina virtual corriendo Ubuntu, el procedimiento sirve de igual manera si tenemos Windows o Ubuntu como sistemas principales, la única condición es que Linux sea el sistema huesped (virtualizado).


Instalando Guest Additions.

Para conseguir compartir las carpetas son necesarias las guest additions instaladas en el sitema huesped, sólo en el sistema huesped.
En el menú de la máquina virtual vamos a: Dispositivos > Instalar <<Guest Additions>>.


[Only registered and activated users can see links]
También puedes presionar "Host+D"

Nota: Si no se abre la carpeta del CD abrirlo manualmente en el menú “Lugares > VBOXADDITIONS_*”
Abrir una Terminal (Aplicaciones>Accesorios>Terminal) e ir a la dirección del cd:


cd /media/VBOXADDITIONS_*

Con el comando “ls” veremos una lista de los archivos en el directorio y encontraremos versiones ejecutables para Windows y Linux. En Linux las que nos interesan los archivos .run, por lo que se debe ejecutar uno de los siguientes comandos dependiendo de tu procesador (arcuitectura):

Para Linux corriendo a 32 bits:


./VBoxLinuxAdditions-x86.run

Para Linux a 64 bits:


./VBoxLinuxAdditions-amd64.run

Se realizará el proceso de compilación de los módulo necesarios para el kernel. Si devuelve algún error lo más seguro es que no se tengan instalados los compiladores ni los headers del kernel. Entonces ejecutamos:


sudo apt-get install gcc linux-headers-generic make

Si todo ha salido bien habrá que reiniciar y se debería de notar la integración con el ratón así como el cambio automático de la resolución cuando cambiamos el tamaño de la ventana de la máquina virtual.


Configurando VirtualBox


En este paso solo habrá que agarrar la/las carpeta(s) que queramos compartir a la configuración de la máquina virtual, se puede hacer mientras esta ya está encendida o en el apartado de “Carpetas Compartidas”. Aquí agregamos las carpetas…


[Only registered and activated users can see links]

…y ajustamos la configuración a la que necesitemos.


[Only registered and activated users can see links]

Se repite este proceso como tantas carpetas se quieran añadir.


Configurando Linux virtualizado


No es necesario que activemos la compartición de archivos, es decir instalar ni configurar samba, esto es debido a que al instalar los Guest-Additions ya hemos instalado un protocolo con el cual se compartirán archivos entre la máquina virtual y el sistema principal.

En mi caso estoy usando la carpeta “Público” que viene por defecto en Ubuntu, pero podemos crear cualquier otra carpeta a usar como punto de montaje, es decir, la carpeta desde donde accederemos a los archivos compartidos.

En otros blogs o sitios pueden encontrar comandos para usar como super-usuarios (root) pero en este caso solo manejaremos carpetas manipulables por nuestro usuario.


[Only registered and activated users can see links]

Una vez seleccionada la “uniremos” a la que ya configuramos en el sistema principal:


sudo mount -t vboxsf <nombre_carpeta> <directorio_a_usar>

Donde:


mount: Es la instrucción para montar sistemas de ficheros.
-t: Parametro usado por mount para identificar el sistema de ficheros (man mount para más información).
vboxsf: Nombre del sistema de ficheros de VirtualBox.
<nombre_carpeta>: Nombre de la carpeta compartida en el Sistema Operativo principal.
<directorio_a_usar>: Directorio en la máquina virtual. Es donde se montará la carpeta del sistema principal.

En mi caso queda de la siguiente manera:


sudo mount -t vboxsf public Público/

Con esto ya podremos acceder a los archivos sólo en la carpeta del sistema principal que hemos configurado en VirtualBox.


Haciendolo permanente


El único “pero” de todo lo anterior es que si reiniciamos la máquina virtual se perderá el enlace y habrá que hacer este proceso de nuevo. Para que la carpeta siempre esté compartida agregaremos el punto de montaje al archivo fstabs. En éste se configuran los sistemas de ficheros que queremos que sean montados al iniciar la máquina.


sudo vi /etc/fstab

Nos encontrarémos con algo como esto:


[Only registered and activated users can see links]

En este momento hemos abierto el editor vi, que es un poco distinto a los demás, por ahora solo podemos movernos por el texto con las flechas del teclado. Para editarlo presionamos la tecla “i”. Si queremos dejar de editar presionamos “Esc”. Si queremos cerrarlo presionamos “Esc” (para salir del modo de edición si estuviesemos en el) y escribimos “:q” (dos puntos y “q”) ejecutamos con “enter” y se cerrará el archivo.

La estructura de cada línea es:


# <sistema de ficheros> <punto de montaje> <tipo> <opciones> <dump> <pass>

Por lo que en mi caso queda la siguiente manera:


public /home/lalo/Público vboxsf uid=1000,gid=1000,rw,exec 0 0

Donde:


public: Nombre de mi carpeta compartida en el Sistema Operativo principal.
/home/lalo/Público: Carpeta donde se muestran los archivos compartidos en Ubuntu.
vboxsf: Sistema de ficheros de VirtualBox.
uid=1000: ID de nuestro usuario en el sistema.
gid=1000: ID del grupo de nuestro usuario en el sistema.
rw,exec: Modo en el que se monta la carpeta (Escritura/Lectura, Ejecución).
<dump> y <pass>: Empleados por el sistema para reterminar cuando hacer respaldos y verificar el sistema de archivos respectivamente.

Por lo tanto, ingresamos al modo edición en vi con la tecla “i”, nos vamos al final del archivo y colocamos la línea con los parametros necesarios para nuestra carpeta. Salimos del modo edición con “Esc”, por último guardamos y salimos ahora no sólo escribiendo “:q”, añadimos una w antes de q para que escriba los cambios, “:wq”.

Con esto cada vez que iniciemos el sistema se montará la carpeta con los archivos que tengamos compartidos.


[Only registered and activated users can see links]



Visto en Tuxlink ([Only registered and activated users can see links])