Virtualbox: monte una carpeta compartida en Guest FreeBSD desde el host Ubuntu

9

Tengo Ubuntu 12.10 como sistema operativo host y FreeBSD 9 como sistema operativo invitado en Virtualbox 4.1.18. He instalado Samba en Ubuntu y FreeBSD y he compartido algunas carpetas de virtualbox, marcando también la automountopción.

También lo he hecho right click and shareen Ubuntu. Pero cuando intento montar en FreeBSD usando

mount -t vboxfs sharedfolder /home/user/shared`

dice sharedfolderoperación no permitida. Yo tambien uso

mount_smbfs //10.0.0.2/sharedfolder /home/user/shared

pero consigo can't get server address

¿Cómo compartir carpetas / archivos entre Host Ubuntu y Guest FreeBSD desde virtualbox?

Bernhard
fuente
¿Tiene alguna razón para no usar NFS?
Peter
1
NFS ??? Cómo ? o está instalado por defecto?
2
El sistema de archivos de red debe instalarse de forma predeterminada y, si no, puede instalarlo como cualquier otro paquete. Es el sistema de archivos de red más destacado para Unices.
Peter
Por cierto, lo más probable sharedfolder: Operation not permittedes que solo la raíz pueda hacer eso.
Apóstol
"Las carpetas compartidas para los invitados de FreeBSD aún no son compatibles" - vea mi respuesta a continuación
Alexander Pozdneev

Respuestas:

4

Samba

Es posible montar una carpeta compartida de FreeBSD o una carpeta compartida de Ubuntu con samba. Ambas formas funcionan. En cualquier caso, debe configurar una carpeta compartida (mencionó que usó la GUI de Ubuntu para hacer eso) y luego, en la otra máquina, necesita montar el recurso compartido con la IP correcta y asegurarse de que tanto el Guest como el Host estén en el mismo red o utilizando el reenvío de puertos en caso de que haya configurado NAT.

Debido a que hay demasiadas soluciones, no voy a enumerarlas todas aquí. ¿Podría proporcionar más información sobre la configuración de red de su sistema operativo invitado? ¿Qué configuración usaste al crear la VM? ¿Utiliza NAT, Bridge, Host-only o Internal Network? Le proporcionaré un ejemplo que supone que su invitado puede ver en la red a su host (por ejemplo, tiene una tarjeta de red definida como solo host).

Primero comparta una carpeta de red en Ubuntu como lo hizo. Asegúrese de crear una cuenta de usuario en Samba en el host de Ubuntu o de que el acceso de invitado sea posible (por ejemplo, sudo smbpasswd -a <username>para dar acceso a un usuario, reemplácelo por el nombre de usuario).

Luego, en FreeBSD, monte el recurso compartido de Ubuntu usando la dirección IP correcta (10.0.0.2 es probablemente el adecuado para su "enrutador" NAT creado por VirtualBox y, por lo tanto, probablemente no funcionará), por ejemplo, use la dirección IP de Ubuntu en su LAN (por ejemplo, 192.168.1.x) o la que se definió para la interfaz de solo host. Entonces su mount_smbfscomando tendrá éxito:

mount_smbfs -U <username> //<correct IP>/sharedfolder /home/user/shared

vboxsf

Cuando vboxsf recibe soporte de FreeBSD (gracias Alexander por señalarlo) y si desea utilizar el mecanismo de compartimiento incorporado de VirtualBox vboxsf, debe instalar las Adiciones de invitado en el SO huésped (algunas FreeBSD en su caso). Por lo general, esto se hace a través del menú de VirtualBox bajo Dispositivos , hay un acceso directo a Instalar Guest Additions ... .

Sin embargo, para FreeBSD tienes que hacerlo de manera diferente. Tienen una documentación dedicada para esto:

Una vez instalados los Guest Additions, puede usar el mountcomando con el vboxsfsistema de archivos. Sin embargo lo que necesita para compartir una carpeta usando VirtualBox mecanismo de carpeta compartida, se ve debajo de VirtualBox Dispositivos menú la opción Compartir carpetas ... . Tenga en cuenta que el nombre que le dará al recurso compartido en este menú será el nombre del "dispositivo" que le dé al montaje.

Huygens
fuente
Yo uso NAT, la red predeterminada para GuestOS. Lo intenté mount vboxsfincluso con su, pero no tuve suerte. He compartido carpeta bajo VirtualBox compartida mecanismo, settingsy Shared Foldersy dio nombre sharedfoldersa los que quería compartir. También utilicé la automountopción disponible al compartir usando virtualbox.
@JhilkeDai Como dije, solo puedes usar el vboxsfy Shared Foldersi has instalado Guest Additions dentro del Guest OS, para lo cual te di algunos enlaces. ¿Los instaló? Para Samba, intente usar el modo "Puente", comparta una carpeta en el Host (Ubuntu) e intente acceder desde Guest (FreeBSD) usando smbclient -L <ubuntu hostname>.
Huygens
Sí, los Guest Additions fueron el truco en GuestOS, nunca supuse que podría ser así, ni entiendo cómo funciona. Pero funciona: D
1
Agregar las adiciones de invitado es como agregar un conjunto de nuevos controladores a su máquina virtual de invitado. Para una analogía en un entorno no virtual, es como instalar una tarjeta gráfica sin los controladores, no tiene acceso a todas las posibilidades. Una vez que instale los controladores, puede obtener todas las funciones porque el sistema operativo las conoce y ofrece utilizarlas para los usuarios.
Huygens
1
Perdón por ser duro, me han mordido mucho después de confiar en la respuesta y pasar mucho tiempo tratando de usarla hasta leer la otra respuesta.
Abel Cheung
10

Como se señaló en otro tema ,

Las carpetas compartidas para los invitados de FreeBSD aún no son compatibles [...] Hay un borrador de código y un módulo de kernel para él, pero aún no funciona.

Eso es a partir del 24 de junio de 2014.

Alexander Pozdneev
fuente
2

Hay un puerto disponible en github:

https://github.com/lwhsu/freebsd-vboxfs

Está probado para funcionar con éxito FreeBSD 11.0-RELEASE-p1.

VanagaS
fuente
1
Dice "no funciona completamente" en GitHub. Y no se ha actualizado desde el 11 de enero, el día después de que publicaste tu respuesta :)
Mikhail T.
0

A partir de hoy (2020-05), todas las formas de montar carpetas de host usando vboxvfs nativos funcionan formalmente:

mount_vboxvfs -w myshare /mnt
mount -t vboxvfs myshare /mnt

El único problema aquí es que el resultado es muy inestable (el host utilizado fue FreeBSD 12). He intentado diferentes combinaciones de versiones de SO huésped (FreeBSD 11 y 12), indicador de caché de E / S del host en la configuración del controlador, indicadores de montaje de solo lectura, etc. - nada trae un trabajo estable. Los archivos aparecen \ desaparecen, verá todo tipo de fallas como, por ejemplo, la carpeta se comporta como un archivo, etc. También tengo muchos kernel panics en el sistema operativo invitado.

Por lo tanto, la única forma válida de compartir carpetas desde el sistema operativo host a "FreeBSD Guest" es mediante NFS. Esto funciona muy bien, sin problemas hasta ahora.

ARA1307
fuente