Virtualbox: monta una cartella condivisa in Guest FreeBSD dall'host Ubuntu


9

Ho Ubuntu 12.10 come sistema operativo host e FreeBSD 9 come sistema operativo guest in Virtualbox 4.1.18. Ho installato Samba sia in Ubuntu che in FreeBSD e ho condiviso alcune cartelle da virtualbox, selezionando anche l' automountopzione.

Ho anche fatto right click and sharein Ubuntu. Ma quando provo a montare in FreeBSD usando

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

dice sharedfolderoperazione non consentita. Ho anche usato

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

ma capisco can't get server address

Come condividere cartelle / file tra Host Ubuntu e Guest FreeBSD da virtualbox?


Hai qualche motivo per non usare NFS?
peterph

1
NFS ??? Come ? o è installato di default?

2
Network File System dovrebbe essere installato per impostazione predefinita e, in caso contrario, è possibile installarlo come qualsiasi altro pacchetto. È il file system di rete più importante per Unices.
peterph

A proposito, molto probabilmente sharedfolder: Operation not permittedsignifica che solo root può farlo.
Apostolo

"Le cartelle condivise per gli ospiti di FreeBSD non sono ancora supportate" - leggi la mia risposta di seguito
Alexander Pozdneev,

Risposte:


4

Samba

È possibile montare una cartella FreeBSD condivisa o una cartella Ubuntu condivisa con samba. Entrambe le modalità funzionano. In entrambi i casi è necessario configurare una cartella condivisa (hai menzionato che hai utilizzato la GUI di Ubuntu per farlo) e quindi sull'altro computer devi montare la condivisione utilizzando l'IP corretto e assicurandoti che sia il Guest sia l'host siano sullo stesso rete o utilizzo del port forwarding nel caso in cui NAT fosse configurato.

Perché ci sono troppe soluzioni, non ho intenzione di elencarle tutte qui. Potresti fornire ulteriori informazioni sulla configurazione di rete del tuo SO guest? Quali impostazioni hai usato durante la creazione della VM? Utilizzi NAT, Bridge, solo host o rete interna? Ti fornirò un esempio che presuppone che il tuo ospite sia in grado di visualizzare sulla rete il tuo host (ad esempio, hai una scheda di rete definita come solo host).

Prima condividi una cartella di rete su Ubuntu come hai fatto tu. Assicurati di creare un account utente in Samba sull'host Ubuntu o che sia possibile l'accesso come ospite (ad es. sudo smbpasswd -a <username>Per consentire l'accesso a un utente, sostituirlo con il nome utente.

Quindi su FreeBSD, monta la condivisione Ubuntu usando l'indirizzo IP corretto (10.0.0.2 è probabilmente quello per il tuo "router" NAT creato da VirtualBox e quindi probabilmente non funzionerà), ad esempio usa l'indirizzo IP di Ubuntu su LAN (ad es. 192.168.1.x) o quella definita per l'interfaccia solo host. Quindi il tuo mount_smbfscomando avrà esito positivo:

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

vboxsf

Quando vboxsf viene supportato da FreeBSD (grazie ad Alexander per averlo sottolineato) e se vuoi usare il meccanismo di condivisione integrato di VirtualBox vboxsf, devi installare Guest Additions nel SO Guest (alcuni FreeBSD nel tuo caso). Di solito questo viene fatto tramite il menu VirtualBox sotto Devices , c'è una scorciatoia per installare Guest Additions ... .

Tuttavia, per FreeBSD devi farlo diversamente. Hanno una documentazione dedicata per questo:

Una volta installate le Guest Additions, puoi usare il mountcomando con il vboxsffilesystem. È necessario però di condividere una cartella utilizzando VirtualBox meccanismo di cartella di condivisione, vedere sotto di VirtualBox Dispositivi di menu la voce di condividere le cartelle ... . Nota che il nome che assegnerai alla condivisione in questo menu sarà il nome del "dispositivo" che dai per montare.


Uso NAT, la rete predefinita per GuestOS. Ci ho provato mount vboxsfanche con su, ma senza fortuna. Ho condiviso la cartella con il meccanismo condiviso di virtualbox settingse ho Shared Foldersdato il nome sharedfoldersa quelli che volevo condividere. Ho anche usato l' automountopzione disponibile durante la condivisione tramite virtualbox.

@JhilkeDai Come ho già detto, puoi utilizzare solo vboxsfe Shared Folderse hai installato Guest Additions all'interno del SO Guest, per il quale ti ho fornito alcuni link. Li hai installati? Per Samba, prova ad usare la modalità "Bridge", condividi una cartella sull'Host (Ubuntu) e prova ad accedervi dal Guest (FreeBSD) usando smbclient -L <ubuntu hostname>.
Huygens,

sì, le Guest Additions erano il trucco di GuestOS, non avrei mai immaginato che potesse essere così, né capisco come funzioni. Ma funziona: D

1
Aggiungere le Aggiunte Guest è come aggiungere una serie di nuovi driver alla macchina virtuale Guest. Per un'analogia in un ambiente non virtuale, è come installare una scheda grafica senza i driver, non si ha accesso a tutte le possibilità. Una volta installati i driver è possibile ottenere tutte le funzionalità perché il sistema operativo ne è a conoscenza e si offre di farne uso agli utenti.
Huygens,

1
Scusatemi per essere stato duro, sono stato morso male dopo aver confidato nella risposta e aver passato molto tempo cercando di usarla fino a leggere l'altra risposta.
Abel Cheung,

10

Come sottolineato in un altro argomento ,

Le cartelle condivise per i guest di FreeBSD non sono ancora supportate [...] C'è qualche bozza di codice e un modulo kernel per esso, ma non funziona ancora.

È il 24 giugno 2014.



0

Ad oggi (2020-05), tutti i modi per montare le cartelle host utilizzando vboxvfs nativi funzionano formalmente:

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

L'unico problema qui è che il risultato è molto instabile (l'host usato era FreeBSD 12). Ho provato diverse combinazioni di versioni del sistema operativo guest (FreeBSD 11 e 12), flag di cache I \ O host nelle impostazioni del controller, flag di montaggio di sola lettura ecc. Nulla porta a un lavoro stabile. I file appaiono \ scompaiono, vedrai tutti i tipi di anomalie come ad esempio la cartella si comporta come un file, ecc. Ho anche molti panici del kernel nel SO guest.

Quindi l'unico modo valido per condividere una cartella dal sistema operativo host a "Guest di FreeBSD" è usare NFS. Funziona davvero alla grande, senza problemi finora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.