Pasta de compartilhamento do Host do Windows para o Freebsd Guest

10

O que estou tentando realizar:

  • Eu tenho (em casa) um PC com o Windows 7 instalado
  • Gostaria de rodar um Unix no Virtual Box, porque estou mais acostumado a desenvolver / criar scripts nele

Eu me instalei no Freebsd no momento e consegui instalá-lo e configurar a rede. O próximo passo é compartilhar uma pasta do Windows para o Freebsd, para que eu possa editar facilmente arquivos no Windows e no Freebsd, ambos. Infelizmente, parece uma coisa a se fazer.

Vasculhei a rede e encontrei duas maneiras diferentes:

Eu instalei as adições convidado em FreeBSD usando pkg_add -r virtualbox-ose-additions, a instalação suficiente switfly passou, e eu editei /etc/rc.confpara adicionar as duas linhas sugeridas: vboxguest_enable="YES"e vboxservice_enable="YES"e reiniciado.

Não funcionou. O comando para montar o sistema acaba com um erro:

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

onde sharedé o nome da pasta que eu configuro nas configurações da minha caixa virtual para esta VM.

É realmente possível usar um vboxsftipo de sistema de arquivos no freebsd? Alguns comentários parecem sugerir que não há suporte, mas é difícil encontrar informações atualizadas.

Em seguida, mudei para a abordagem do samba. Eu basicamente segui o guia que o vinculei. Infelizmente, acaba com:

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

Onde Sharedestá o nome da pasta compartilhada que eu configurei com o Windows, acessível para o winuserobviamente. O ping funciona.

Gostaria de observar que não tenho senha na conta de convidado do Windows que estou tentando conectar, parecia mais fácil, mas talvez isso esteja incomodando o samba de alguma forma.

edit: trabalhando no PuTTY Eu não tinha visto que algumas mensagens foram impressas no console:

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

ambos aparecem várias vezes. / fim da edição

Se o compartilhamento direto do sistema de arquivos não funcionar, alguma idéia de como fazer o samba fazer isso? O artigo sugere que já seja feito por alguns, pelo menos.

Informação técnica:

  • Anfitrião: Windows 7 Familial Edition (atualizado)
  • Convidado: FreeBSD 9.0-RELEASE # 0: Terça-feira, 3 de janeiro, 07:15:25 UTC 2012 [email protected]: / usr / obj / usr / src / sys / GENERIC i386
  • Caixa virtual: 4.1.16 r78094

Estou aberto a novas sugestões para compartilhar também. Se possível, prefiro evitar a transferência de arquivos: não é particularmente eficiente e sempre é uma fonte de erros confusos.

Também estou aberto a mudanças de sistemas. Eu gosto da filosofia do freebsd, mas se não funcionar, não tenho escrúpulos em mudar para o linux.

EDIT :

Esta questão é agora puramente de interesse teórico. Eu mudei para o Ubuntu Server e consegui configurá-lo sem samba, pois o vboxsf é bem suportado.

Matthieu M.
fonte
Você tentou o programa smbclient da suíte samba?
arqueado
@ arved: não, eu não fiz. É possível configurar uma montagem automática através do cliente smb? (Idealmente, eu preferiria não samba, mas hey, se leva samba ao trabalho ...)
Matthieu M.
Eu não acho que é possível montar. Mas pelo menos você pode verificar se não há erros de configuração no Windows Share
arquivado

Respostas:

5

As pastas compartilhadas do VirtualBox ainda não são suportadas no FreeBSD.

Um committer de portas do FreeBSD confirmou isso nas listas de discussão do FreeBSD a partir de (2014-06-24):

Pastas compartilhadas para convidados do FreeBSD ainda não são suportadas [...] Há algum código de rascunho e um módulo do kernel para ele, mas ainda não está funcionando.

Se você deseja acompanhar o estado da porta, pesquise nas listas de discussão. Há também o #freebsd-vboxcanal de IRC no Freenode. Foi postado na lista de discussão freebsd-hackers na parte inferior deste post . Você encontrará desenvolvedores lá.

Finalmente, aqui está o que a virtualbox-ose-additionsporta suporta atualmente, de acordo com o Capítulo 22.2 do FreeBSD Handbook até hoje:

As adições de convidados do VirtualBox ™ oferecem suporte para:

  • Compartilhamento da área de transferência.
  • Integração com o ponteiro do mouse.
  • Sincronização de horário do host.
  • Escala de janela.
  • Modo sem costura.

Como você pode ver, nenhuma pasta compartilhada suporta ainda o FreeBSD.

O capítulo 4.3 do manual do VirtualBox declara:

As pastas compartilhadas são suportadas pelos convidados Windows (2000 ou mais recente), Linux e Solaris.

Mais uma vez, sem o FreeBSD. Use compartilhamentos SMB por enquanto, seguindo as instruções mencionadas por outras pessoas.

Francis Harbison
fonte
4

Verifique se você configurou o compartilhamento na pasta windows para o usuário que deseja usar no freebsd.

Eu gosto de adicionar o seguinte ao / etc / hosts para facilitar o uso.

<ip address of server>  vboxhost
eg.
192.168.56.1    vboxhost

Primeiro teste de montagem da pasta:

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

Se isso estiver correto, você será solicitado a senha do usuário do Windows.

Para montá-lo na inicialização, adicione o seguinte em / etc / fstab

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

Ele deve ser montado sempre que você inicializar

Se você não deseja que a senha seja solicitada, adicione-a no /etc/nsmb.conf:

[default]
[NAMEOFWINDOWSBOX]              
addr=<ip address of host>
[NAMEOFWINDOWSBOX:USERNAME]
password=<myPassword>
Pete
fonte
Oi Pete. Obrigado pela sua resposta. Na verdade, mudei de arma e fui com o Ubuntu Server, pois preferia uma solução não samba e o FreeBSD ainda não suporta vboxfs.
Matthieu M.
1
Você não precisa instalar o samba para a solução acima, que funciona a partir de uma instalação padrão do FreeBSD.
Pete
Eu recomendaria dar uma nova chance ao freebsd se você tiver tempo, já que achei o recurso da prisão muito útil para fins de desenvolvimento. No momento eu tenho 5 cadeias: www (apache22 + php53), www (apache22 + php54), MySQL, PostgreSQL, servidor de email. Eu encontrei este inestimável em termos de testar diferentes versões do PHP e banco de dados
Pete
Além disso, como o FreeBSD possui muitos terminais por padrão, alt + f1 -> alt + f8, o que significa que, se você usar prisões, poderá construí-los em paralelo, economizando tempo ao usar o sistema de portas. Parreira, você pode até configurar uma prisão apenas para criar software. Eu uso qjail.
Pete
bem, meu objetivo era invadir o Clang / LLVM, então está tudo bem comigo.
Matthieu M.
1

Eu estava lutando contra o mesmo problema. Algumas coisas no lado do Windows me permitiram finalmente fazer o mount_smbfs funcionar no FreeBSD 9.0:

  • Habilitar acesso anônimo para o sistema

Central de Rede e Compartilhamento → Alterar configurações avançadas de compartilhamento → Desativar compartilhamento protegido por senha

  • Habilitar acesso anônimo na pasta via Compartilhamento Simples

Propriedades → Compartilhar → Compartilhar ... → Adicionar 'Todos'

Nas propriedades de compartilhamento, existem duas maneiras de criar o compartilhamento; Compartilhamento simples e compartilhamento avançado. Eu estava usando o Compartilhamento avançado e, por algum motivo, não me preocupo nesse momento, que não funcionou; Adicionei novamente o compartilhamento através do compartilhamento simples e, em seguida, o mount / smbclient finalmente funcionou.

Verificando se o login anônimo funciona com 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
fonte
Obrigado pela resposta, mudei para o Ubuntu no final (o que foi mais fácil porque eu tinha acesso a um amigo que o usava).
Matthieu M.
1
Sim, só queria tentar ajudar os futuros googlers.
Twblamer
E eu te agradeço por isso, tivemos um tempo muito difícil encontrar qualquer solução quando eu tentei :)
Matthieu M.