Gemeinsame Ordner unter Ubuntu Server 10.04 in VirtualBox einrichten

Wie ich bereits im vorherigen Artikel dieser Serie berichtet habe, bieten die Gasterweiterungen für VirtualBox Gemeinsame Ordner an. Diese können dann vom Gast einfach eingebunden werden und z.B. wie eine Netzwerkfreigabe verwendet werden.

Um die Gemeinsamen Ordner zu aktivieren, muss in den Einstellungen des Gastsystems – im Bereich Gemeinsame Ordner – ein Ordner hinzugefügt werden. Dieser kann diverse Optionen haben. (nur lesbar, automatisch einbinden, permanent. Siehe Screenshot.)Virtualbox Gemeinsame Ordner

Die Einbindung bei Windowssystemen klappt bei Auswahl des Häkchen „automatisch Einbinden“ ohne Zutun. Um diesen Ordner nun auf einem Linux Gast z.B. Ubuntu 10.04 Server einzubinden, muss ein Mountpunkt definiert werden. Dann kann eingebunden werden.

$ mkdir /home/sven/share
$ sudo mount -t vboxsf SharedFolder /home/sven/share

Wenn man nicht den Root User verwendet, sondern der aktuelle Benutzer die Rechte am eingebundenen Ordner haben soll, kann man einfach die Benutzer- und Gruppen ID (uid,gid) in die Mount Optionen einfügen.

$ sudo mount -t vboxsf -o rw,uid=1000,gid=1000 SharedFolder /home/sven/share

Alternativ kann man auch eine Permanente Einbindung machen. Hierzu muss die Datei rc.local bearbeitet werden.

$ sudo nano /etc/rc.local

Sollte darin zuvor keine Änderung gemacht worden sein, sollte sie jetzt so aussehen.

!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
mount -t vboxsf -o rw,uid=1000,gid=1000 SharedFolder /home/sven/share
exit 0

Wichtig! Die Raute in der ersten Zeile muss entfernt werden, so dass nur !/bin/sh -e da steht. Ausserdem muss die uid und gid auf den entsprechenden Benutzer angepasst sein. Der Befehl id zeigt die benötigte Information an.

Beim nächsten Neustart steht dann der Ordner dauerhaft bereit.

Einbinden einer Freigabe mittels cifs

Heute hatte ich das Problem, das ich per Shell nicht sauber auf eine Freigabe zugreifen konnte. (Client: Ubuntu 9.10 Desktop, Filer: FreeNAS 0.7) Hierfür gibt es natürlich viele Wege und Möglichkeiten. Ich habe mich für die Variante des einbinden der Freigabe ins lokale Dateisystem entschieden. Hierfür war nur die Installation des Pakets smbfs nötig. (Sofern nicht vorhanden!)

sudo apt-get install smbfs

Als nächstes brauchte ich einen Mountpoint und habe mich für /media entschieden. Denn anders als bei /mnt wird automatisch auch eine Desktopverknüpfung erzeugt.

sudo mkdir /media/filer

Da ich die Verbindung nur temporär benötige, genügt mir der mount Befehl. Sollte ein Passwort vergeben sein, wird dies abgefragt.

sudo mount -t cifs -o username=sven //10.10.50.50/freigabe /media/filer

Das ganze kann bei Bedarf natürlich auch in die /etc/fstab oder in ein kleines Shell-Script gespeichert werden, so dass man diese Funktion jederzeit wieder bzw. dauerhaft nutzen kann.

Nun konnte ich simpel via Shell auf die Verzeichnisse zugreifen.

cd /media/filer/…

Weitere Infos gibts hier:
http://wiki.ubuntuusers.de/Samba_Client_cifs
http://freenas.org/documentation:setup_and_user_guide:cifs