Compartir carpeta de Windows Host a Freebsd Guest

10

Lo que estoy tratando de lograr:

  • Tengo (en casa) una PC con Windows 7 instalado
  • Me gustaría ejecutar un Unix en Virtual Box, porque estoy más acostumbrado a desarrollar / crear scripts en él

Me instalé en Freebsd en este momento, y logré instalarlo y configurar la red. El siguiente paso es compartir una carpeta de Windows a Freebsd para que pueda editar fácilmente archivos en Windows y en Freebsd. Desafortunadamente parece una cosa que hacer.

Rebusqué en la red y encontré dos formas diferentes:

He instalado las adiciones de huéspedes en FreeBSD usando pkg_add -r virtualbox-ose-additions, la instalación lo suficientemente switfly procedido, y he editado /etc/rc.confpara agregar las dos líneas sugeridas: vboxguest_enable="YES"y vboxservice_enable="YES"y reiniciado.

No funcionó. El comando para montar el sistema termina en un error:

# mount -t vboxsf shared /home/myuser/shared
mount: shared : Operation not supported by device

donde sharedestá el nombre de la carpeta que configuré en la configuración de mi caja virtual para esta VM.

¿Es realmente posible usar un vboxsftipo de sistema de archivos en freebsd? Algunos comentarios parecen sugerir que no es compatible, pero es difícil encontrar información actualizada.

Luego, pasé al enfoque de la samba. Básicamente seguí la guía que lo vinculé. Lamentablemente termina con:

# mount_smbfs -N -I 192.168.56.1 //winuser@winmachinename/Shared /mnt/shared
mount_smbfs: unable to open connection: syserr = RPC struct is bad

donde Sharedestá el nombre de la carpeta compartida que configuré con windows, accesible para el winuserobviamente. El ping funciona.

Me gustaría señalar que no tengo una contraseña en la cuenta de invitado de Windows a la que estoy tratando de conectarme, parecía más fácil, pero tal vez es una molestia para la samba de alguna manera.

editar: trabajando desde PuTTY no había visto que se imprimieran algunos mensajes en la consola:

smb_maperror: Unmapped error 3:31
smb_co_lock: recursive lock for object 1

Ambos aparecen varias veces. / fin de edición

Si el intercambio directo del sistema de archivos no funciona, ¿alguna idea de cómo lograr que samba lo haga? El artículo sugiere que al menos algunos ya lo han hecho.

Información técnica:

  • Anfitrión: Edición familiar de Windows 7 (actualizada)
  • Invitado: FreeBSD 9.0-LANZAMIENTO # 0: martes 3 de enero 07:15:25 UTC 2012 [email protected]: / usr / obj / usr / src / sys / GENERIC i386
  • Caja virtual: 4.1.16 r78094

Estoy abierto a nuevas sugerencias para compartir también. Si es posible, preferiría evitar transferir archivos de un lado a otro: no es particularmente eficiente y siempre es una fuente de errores confusos.

También estoy abierto a los sistemas cambiantes. Me gusta la filosofía de freebsd, pero si no funciona, no tengo reparos en mudarme a Linux.

EDITAR :

Esta pregunta es ahora puramente de interés teórico. Cambié a usar Ubuntu Server y logré configurarlo sin samba ya que vboxsf es bien compatible.

Matthieu M.
fuente
¿Probaste el programa smbclient de la suite samba?
llegó
@arved: no, no lo hice. ¿Es posible configurar un montaje automático a través del cliente smb? (Idealmente, preferiría no samba, pero bueno, si se necesita samba para funcionar ...)
Matthieu M.
No creo que sea posible montar. Pero al menos puede verificar que no haya una configuración
incorrecta en

Respuestas:

5

Las carpetas compartidas de VirtualBox todavía no se admiten en FreeBSD.

Un confirmador de puertos de FreeBSD ha confirmado esto en las listas de correo de FreeBSD a partir de (2014-06-24):

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.

Si desea seguir el estado del puerto, busque en las listas de correo. También está el #freebsd-vboxcanal IRC en Freenode. Fue publicado en la lista de correo de freebsd-hackers al final de esta publicación . Encontrarás desarrolladores allí.

Finalmente, esto es lo que el virtualbox-ose-additionspuerto admite actualmente de acuerdo con el Capítulo 22.2 del Manual de FreeBSD a partir de hoy:

Las adiciones de invitados VirtualBox ™ brindan soporte para:

  • Portapapeles para compartir.
  • Integración del puntero del mouse.
  • Sincronización de hora del host.
  • Escalado de ventanas.
  • Modo sin costuras

Como puede ver, todavía no se admiten carpetas compartidas para FreeBSD.

El Capítulo 4.3 del manual de VirtualBox dice:

Las carpetas compartidas son compatibles con Windows (2000 o posterior), invitados Linux y Solaris.

Una vez más, no hay FreeBSD. Use recursos compartidos SMB por ahora, siguiendo las instrucciones que otros han mencionado.

Francis Harbison
fuente
4

Asegúrese de haber configurado el uso compartido en la carpeta de Windows para el usuario que desea utilizar para compartir en freebsd.

Me gusta agregar lo siguiente a / etc / hosts para facilitar su uso.

<ip address of server>  vboxhost
eg.
192.168.56.1    vboxhost

Primera prueba de montaje de la carpeta:

mount_smbfs -I vboxhost //username@nameofwindowsbox/foldername /mnt

Si esto es correcto, se le solicitará la contraseña de usuario de Windows.

Para que se monte en el arranque, agregue lo siguiente a / etc / fstab

//username@nameofwindowsbox/foldername  /mnt smbfs  rw,noauto  0 0

Debe montarse cada vez que arranque

Si no desea que se le solicite la contraseña, agregue esto en /etc/nsmb.conf:

[default]
[NAMEOFWINDOWSBOX]              
addr=<ip address of host>
[NAMEOFWINDOWSBOX:USERNAME]
password=<myPassword>
Pete
fuente
Hola pete Gracias por tu respuesta. En realidad, cambié de brazos y elegí Ubuntu Server, ya que prefería una solución que no fuera de samba y FreeBSD todavía no es compatible con vboxfs.
Matthieu M.
1
No necesita instalar samba para la solución anterior, funciona desde una instalación predeterminada de FreeBSD.
Pete
Recomendaría darle otra oportunidad a freebsd si tiene tiempo, ya que he encontrado que su función de cárcel es muy útil para fines de desarrollo. Por el momento tengo 5 cárceles: www (apache22 + php53), www (apache22 + php54), MySQL, PostgreSQL, servidor de correo electrónico. He encontrado esto invaluable en términos de probar diferentes versiones de php y bases de datos
Pete
Además, como FreeBSD tiene muchas terminales por defecto alt + f1 -> alt + f8, lo que significa que si va con cárceles puede construirlas en paralelo, ahorrándole tiempo cuando usa el sistema de puertos. Diablos, incluso podrías configurar una cárcel solo para construir software. Yo uso qjail.
Pete
bueno, mi propósito era hackear Clang / LLVM, así que está bastante bien conmigo.
Matthieu M.
1

Estaba luchando contra el mismo problema. Un par de cosas en el lado de Windows me permitieron finalmente que mount_smbfs funcionara en FreeBSD 9.0:

  • Habilitar acceso anónimo para el sistema

Centro de redes y recursos compartidos → Cambiar configuración de uso compartido avanzado → Desactivar uso compartido protegido con contraseña

  • Habilite el acceso anónimo en la carpeta a través de Uso compartido simple

Propiedades → Compartir → Compartir ... → Agregar 'Todos'

En las propiedades Compartir hay dos formas de crear el recurso compartido; Uso compartido simple y uso compartido avanzado. Estaba usando el uso compartido avanzado, y por alguna razón no me importa en este momento, eso no funcionó; Volví a agregar el recurso compartido a través de Simple Sharing y luego mount / smbclient finalmente funcionó.

Verificación de que el inicio de sesión anónimo funciona con smbclient:

[root@fileserv ~]# smbclient -N -I 192.168.56.1 '\\twblamer-pc\share'
Domain=[TWBLAMER-PC] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]
smb: \> dir
  .                                  DR        0  Thu Dec 13 04:33:09 2012
  ..                                 DR        0  Thu Dec 13 04:33:09 2012
  mydirectory                         D        0  Thu Dec 13 01:55:45 2012
twblamer
fuente
Gracias por la respuesta, me cambié a Ubuntu al final (lo cual fue más fácil porque tuve acceso a un amigo que lo usó).
Matthieu M.
1
Sí, solo quería intentar ayudar a cualquier futuro googlers.
twblamer
Y les agradezco por hacerlo, me costó mucho encontrar una solución cuando lo intenté :)
Matthieu M.