Virtualbox: Hängen Sie einen freigegebenen Ordner in Guest FreeBSD von Host Ubuntu ein

8

Ich habe Ubuntu 12.10 als Host-Betriebssystem und FreeBSD 9 als Gast-Betriebssystem in Virtualbox 4.1.18. Ich habe Samba sowohl in Ubuntu als auch in FreeBSD installiert und einige Ordner von virtualbox freigegeben, wobei auch die automountOption angekreuzt wurde .

Ich habe auch right click and sharein Ubuntu gemacht. Aber wenn ich versuche, in FreeBSD mit zu mounten

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

es heißt sharedfolderBetrieb nicht erlaubt. Ich habe auch verwendet

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

aber ich verstehe can't get server address

Wie kann ich Ordner / Dateien zwischen Host Ubuntu und Guest FreeBSD von virtualbox aus freigeben?

Bernhard
quelle
Haben Sie einen Grund, NFS nicht zu verwenden?
Peterph
NFS ??? Wie man ? oder ist es standardmäßig installiert?
1
Das Netzwerkdateisystem sollte standardmäßig installiert sein. Andernfalls können Sie es wie alle anderen Pakete installieren. Es ist das bekannteste Netzwerkdateisystem für Unices.
Peterph
Übrigens sharedfolder: Operation not permittedbedeutet das höchstwahrscheinlich , dass nur root das kann.
Apostel
"Freigegebene Ordner für FreeBSD-Gäste werden noch nicht unterstützt" - siehe meine Antwort unten
Alexander Pozdneev

Antworten:

4

Samba

Es ist möglich, mit samba entweder einen freigegebenen FreeBSD-Ordner oder einen freigegebenen Ubuntu-Ordner bereitzustellen. Beide Wege funktionieren. In beiden Fällen müssen Sie einen Freigabeordner konfigurieren (Sie haben erwähnt, dass Sie dazu die Ubuntu-Benutzeroberfläche verwendet haben) und dann auf dem anderen Computer die Freigabe mit der richtigen IP-Adresse bereitstellen und sicherstellen, dass sich sowohl Gast als auch Host auf derselben befinden Netzwerk oder Portweiterleitung, falls Sie NAT konfiguriert haben.

Da es zu viele Lösungen gibt, werde ich sie hier nicht alle auflisten. Könnten Sie bitte weitere Informationen zur Netzwerkkonfiguration Ihres Gastbetriebssystems bereitstellen? Welche Einstellungen haben Sie beim Erstellen der VM verwendet? Verwenden Sie NAT, Bridge, Nur-Host oder Internes Netzwerk? Ich werde Ihnen ein Beispiel geben, das davon ausgeht, dass Ihr Gast in der Lage ist, Ihren Host im Netzwerk anzuzeigen (z. B. haben Sie eine Netzwerkkarte, die als Nur-Host definiert ist).

Geben Sie zunächst einen Netzwerkordner unter Ubuntu frei, wie Sie es getan haben. Stellen Sie sicher, dass Sie ein Benutzerkonto in Samba auf dem Ubuntu-Host erstellen oder dass ein Gastzugriff möglich ist (z. B. sudo smbpasswd -a <username>um einem Benutzer Zugriff zu gewähren, ersetzen Sie ihn durch den Benutzernamen.

Hängen Sie dann unter FreeBSD die Ubuntu-Freigabe mit der richtigen IP-Adresse ein (10.0.0.2 ist wahrscheinlich diejenige für Ihren von VirtualBox erstellten NAT- "Router" und funktioniert daher wahrscheinlich nicht). Verwenden Sie beispielsweise entweder die Ubuntu-IP-Adresse Ihr LAN (z. B. 192.168.1.x) oder das LAN, das für die Nur-Host-Schnittstelle definiert wurde. Dann wird Ihr mount_smbfsBefehl erfolgreich sein:

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

vboxsf

Wenn vboxsf von FreeBSD unterstützt wird (danke Alexander für den Hinweis) und wenn Sie den in VirtualBox integrierten Freigabemechanismus verwenden möchten vboxsf, müssen Sie die Guest Additions im Gastbetriebssystem installieren (in Ihrem Fall einige FreeBSD). Normalerweise ist dies über das VirtualBox - Menü unter erfolgt Devices , gibt es eine Verknüpfung zu installieren Guest Additions ... .

Für FreeBSD müssen Sie dies jedoch anders machen. Sie haben eine spezielle Dokumentation dafür:

Sobald die Guest Additions installiert sind, können Sie den mountBefehl mit dem vboxsfDateisystem verwenden. Sie müssen jedoch einen Ordner mithilfe des VirtualBox-Freigabeordnermechanismus freigeben . Weitere Informationen finden Sie im Menü Geräte von VirtualBox unter Element Ordner freigeben .... Beachten Sie, dass der Name, den Sie der Freigabe in diesem Menü geben, der Name des "Geräts" ist, das Sie zum Mounten angeben.

Huygens
quelle
Ich benutze NAT, das Standardnetzwerk für GuestOS. Ich habe es mount vboxsfsogar mit versucht su, aber kein Glück. Ich habe Ordner unter Virtualbox gemeinsamer Mechanismus geteilt, settingsund Shared Foldersund gab Namen sharedfoldersfür diejenigen , die ich teilen wollte. Ich habe auch die automountOption verwendet, die beim Teilen mit virtualbox verfügbar ist.
@JhilkeDai Wie gesagt, Sie können das nur verwenden vboxsfund Shared Folderwenn Sie die Guest Additions im Guest OS installiert haben , für die ich Ihnen einige Links gegeben habe. Hast du sie installiert? Versuchen Sie für Samba, den "Bridge" -Modus zu verwenden, einen Ordner auf dem Host (Ubuntu) freizugeben und vom Gast (FreeBSD) aus darauf zuzugreifen smbclient -L <ubuntu hostname>.
Huygens
Ja, die Guest Additions waren der Trick in GuestOS. Ich hätte nie gedacht, dass es so sein könnte, und ich verstehe auch nicht, wie es funktioniert. Aber es funktioniert: D
1
Das Hinzufügen der Gastzugaben entspricht dem Hinzufügen einer Reihe neuer Treiber zu Ihrer virtuellen Gastmaschine. Bei einer Analogie in einer nicht virtuellen Umgebung ist es wie bei der Installation einer Grafikkarte ohne Treiber. Sie haben nicht Zugriff auf alle Möglichkeiten. Sobald Sie die Treiber installiert haben, können Sie alle Funktionen abrufen, da das Betriebssystem sie kennt, und den Benutzern anbieten, sie zu verwenden.
Huygens
1
Es tut mir leid, dass ich hart bin. Ich wurde schwer gebissen, nachdem ich der Antwort vertraut und viel Zeit damit verbracht habe, sie zu verwenden, bis ich die andere Antwort gelesen habe.
Abel Cheung
10

Wie an einem anderen Thema ausgeführt ,

Freigegebene Ordner für FreeBSD-Gäste werden [...] noch nicht unterstützt. Es gibt einen Codeentwurf und ein Kernelmodul dafür, aber es funktioniert noch nicht.

Das ist der 24. Juni 2014.

Alexander Pozdneev
quelle
2

Auf github ist ein Port verfügbar:

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

Es wurde getestet, um erfolgreich zu arbeiten FreeBSD 11.0-RELEASE-p1.

VanagaS
quelle
Sagt "nicht voll funktionsfähig" auf dem GitHub. Und wurde seit dem 11. Januar nicht aktualisiert - am Tag nachdem Sie Ihre Antwort gepostet haben :)
Mikhail T.