Virtualbox: Monte uma pasta compartilhada no Guest FreeBSD a partir do Host Ubuntu

9

Eu tenho o Ubuntu 12.10 como sistema operacional host e o FreeBSD 9 como sistema operacional convidado no Virtualbox 4.1.18. Eu tenho o Samba instalado no Ubuntu e no FreeBSD e compartilhei algumas pastas do virtualbox, também marcando a automountopção.

Eu também fiz right click and shareno Ubuntu. Mas quando tento montar no FreeBSD usando

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

diz sharedfolderoperação não permitida. Eu também usei

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

mas eu entendo can't get server address

Como compartilhar pastas / arquivos entre o Host Ubuntu e o Guest FreeBSD a partir do virtualbox?

Bernhard
fonte
Você tem algum motivo para não usar o NFS?
peterph
1
NFS ??? Como ? ou é instalado por padrão?
2
O Sistema de arquivos de rede deve ser instalado por padrão e, caso contrário, você pode instalá-lo como qualquer outro pacote. É o sistema de arquivos de rede mais proeminente do Unices.
Peterph
BTW, provavelmente sharedfolder: Operation not permittedsignifica que apenas o root pode fazer isso.
Apóstolo
"Pastas compartilhadas para convidados do FreeBSD ainda não são suportadas" - veja minha resposta abaixo
Alexander Pozdneev

Respostas:

4

Samba

É possível montar uma pasta compartilhada do FreeBSD ou uma pasta compartilhada do Ubuntu com o samba. Os dois lados funcionam. Em qualquer um dos casos, você precisa configurar uma pasta de compartilhamento (você mencionou que usou a GUI do Ubuntu para fazer isso) e, na outra máquina, precisa montar o compartilhamento usando o IP correto e certificando-se de que o Convidado e o Host estejam no mesmo rede ou usando o encaminhamento de porta, caso você tenha NAT configurado.

Como existem muitas soluções, não vou listá-las todas aqui. Você poderia fornecer mais informações sobre a configuração de rede do seu SO convidado? Quais configurações você usou ao criar a VM? Você usa NAT, Bridge, somente host ou rede interna? Vou fornecer um exemplo que pressupõe que seu convidado possa visualizar na rede seu host (por exemplo, você tem uma placa de rede definida como somente host).

Primeiro compartilhe uma pasta de rede no Ubuntu como você fez. Certifique-se de criar uma conta de usuário no Samba no host Ubuntu ou que o acesso de convidado seja possível (por exemplo, sudo smbpasswd -a <username>para dar acesso a um usuário, substitua pelo nome de usuário.

Em seguida, no FreeBSD, monte o compartilhamento Ubuntu usando o endereço IP correto (10.0.0.2 provavelmente é o do seu "roteador" NAT criado pelo VirtualBox e, portanto, provavelmente não funcionará), por exemplo, use o endereço IP do Ubuntu em sua LAN (por exemplo, 192.168.1.x) ou a que foi definida para a interface somente host. Então seu mount_smbfscomando terá sucesso:

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

vboxsf

Quando o vboxsf é suportado pelo FreeBSD (obrigado Alexander por apontar isso) e se você deseja usar o mecanismo de compartilhamento interno do VirtualBox vboxsf, você precisa instalar as Adições de Convidados no SO Convidado (alguns FreeBSD no seu caso). Geralmente isso é feito através do menu VirtualBox sob Devices , há um atalho para Instalar Adicionais para Convidado ... .

No entanto, para o FreeBSD, você deve fazer de forma diferente. Eles têm uma documentação dedicada para isso:

Uma vez instaladas as adições de convidados, você pode usar o mountcomando com o vboxsfsistema de arquivos. Você precisa, no entanto, compartilhar uma pasta usando VirtualBox mecanismo de pasta de compartilhamento, consulte sob o VirtualBox Dispositivos de menu o item Compartilhar Pastas ... . Observe que o nome que você atribuirá ao compartilhamento neste menu será o nome do "dispositivo" que você atribuirá à montagem.

Huygens
fonte
Eu uso o NAT, a rede padrão do GuestOS. Eu tentei com mount vboxsfmesmo com su, mas sem sorte. Tenho pasta sob mecanismo VirtualBox compartilhadas, settingse Shared Folderse deu nome sharedfolderspara os que eu queria compartilhar. Eu também usei a automountopção disponível durante o compartilhamento usando o virtualbox.
@JhilkeDai Como eu disse, você só pode usar o vboxsfe Shared Folderse tiver instalado as Guest Additions dentro do SO OS, para o qual forneci alguns links. Você os instalou? Para o Samba, tente usar o modo "Bridge", compartilhe uma pasta no Host (Ubuntu) e tente acessá-la no Guest (FreeBSD) usando smbclient -L <ubuntu hostname>.
Huygens
sim, as adições de convidados foram o truque no GuestOS, nunca imaginei que pudesse ser assim, nem entendo como funciona. Mas funciona: D
1
Adicionar as adições de convidados é como adicionar um conjunto de novos drivers à sua máquina virtual Guest. Para uma analogia em ambiente não virtual, é como instalar uma placa gráfica sem os drivers, você não tem acesso a todas as possibilidades. Depois de instalar os drivers, você pode obter todos os recursos, porque o sistema operacional os conhece e se oferece para usá-los nos usuários.
Huygens
1
Desculpe por ser duro, fui mordido muito depois de confiar na resposta e passar muito tempo tentando usá-la até ler a outra resposta.
Abel Cheung
10

Como apontado em outro tópico ,

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.

A partir de 24 de junho de 2014.

Alexander Pozdneev
fonte
2

Há uma porta disponível no github:

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

Foi testado para funcionar com êxito FreeBSD 11.0-RELEASE-p1.

VanagaS
fonte
1
Diz "não está funcionando totalmente" no GitHub. E não foi atualizado desde 11 de janeiro - o dia depois que você postou sua resposta :)
Mikhail T.
0

Até hoje (2020-05), todas as maneiras de montar pastas de host usando o vboxvfs nativo formalmente funcionam:

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

O único problema aqui é que o resultado é muito instável (o host usado foi o FreeBSD 12). Eu tentei diferentes combinações de versões de SO convidado (FreeBSD 11 e 12), sinalizador de cache de E / S do host nas configurações do controlador, sinalizadores de montagem somente leitura etc. - nada traz trabalho estável. Os arquivos aparecem \ desaparecem, você verá todos os tipos de falhas, como por exemplo, a pasta se comporta como um arquivo etc. Eu também tenho muitos pânico no kernel no sistema operacional convidado.

Portanto, a única maneira válida de compartilhar pasta do sistema operacional host para o "FreeBSD Guest" é usando o NFS. Isso funciona muito bem, sem problemas até agora.

ARA1307
fonte