Compartir Carpetas – Linux Virtualizado

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>>.

Instalar <<Guest Additions>>

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…

Agregar capreta

Agregar una carpeta

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

Configurar la carpeta

Configurar la carpeta

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.

Mi carpeta compartida

Mi carpeta compartida “Público”

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:

Editando fstab

Editando fstab

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.

Compartiendoa archivos con Ubuntu

Compartiendoa archivos con Ubuntu

  • Error al montar <carpeta>

Al actualizar el kernel se perderánn los modulos de las guest additions, por lo que habrá que actualizarlo una vez que hemos reiniciado el sistema con las actuailizaciones

sudo /etc/init.d/vboxadd setup

Actualizar guest-additions

Actualizar guest-additions

Una vez terminado el proceso se reinicia el sistema y se montará de nuevo el directorio compartido automágicamente.

Espero que les sirva.

Saludos.

Material usado|

Comentanos qué te ha parecido

5 pensamientos sobre “Compartir Carpetas – Linux Virtualizado

  1. Pingback: Anónimo

  2. cuando intento montar la carpeta con, en mi caso: “sudo mount -t vboxsf linux osx/”
    me aparece un error: invalid argument, en que estoy fallando???

    gracias

    • Pues a menos que algo haya cambiado en la manera en que se realiza esto de la compartición, ya sea la versión de ubuntu o algo en VirtualBox sólo te puedo decir que revises el nombre de la carpeta que agregaste a la configuración de la máquina virtual. También sería bueno que pusieras aquí todo el error que obtuviste en consola, así como lo que estás ejecutando.

  3. Hola, ya pude montar mi carpeta compartida en mi sistema huesped, pero… solo tengo acceso como root, lo monte en /home/miusuario/compartida incluso ya edite el fstab y puse el gid y uid, comprobandolo en el /etc/passwd … pero aun asi solo puedo crear archivos en esta carpeta compartida como root…

    espero alguien pueda ayudarme.. Gracias! :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Loading Facebook Comments ...