Shared Folders für die VirtualBox-VM

Shared Folders ermöglichen es, auf einem einfachen Wege, einen Bereich zu definieren, auf den sowohl das Host- und das Guest-System gleichermaßen zugreifen können. Bei mir ist das v.a. mein Workspace-Verzeichnis auf dem Host, das für das Guest-System als Web-Root-Verzeichnis dient.

Hier ist eine Kurzanleitung:

1. In den Einstellungen einen gemeinsamen Ordner festlegen:

Shared-Folders-Defining-1

Shared-Folders-Defining-2

2. Guest Additions für die VM installieren.

Die Guest Additions sind VM-Zusatz-Features, die nach dem Aufsetzen des Guest-Systems installiert werden können. Zwar sind es “nur” Extras, aber, wie im VirtualBox-Manual steht, “for any serious and interactive use, the VirtualBox Guest Additions will make your life much easier by providing closer integration between host and guest and improving the interactive performance of guest systems.” Shared Folders sind eines dieser Zusatz-Funktionen.

Die Guest Additions lassen sich installieren, indem man im VM-Menü auf Devices → Install Guest Additions… geht und die wenigen Installationsschritte durchführt.

Guest-Additionals-Installation-1

Guest-Additionals-Installation-2

Laut der Guest Additions Installation HowTo, auf die ich unten verweise, braucht man noch einige Vorbereitungen zu treffen, ehe die Additions installiert werden können. Bei mir war dies nicht nötig.

Heute bin ich zufällig auf die einfachste Möglichkeit der Installation der GAs gestoßen. Beim Installationsprozess von Debian können Software-Pakete ausgewählt werden, die gleich mitinstalliert werden (SSH-Server, Web-Server, Datenbank etc.). Ich habe ausgewählt, was ich brauchte und auf “next” geklickt, musst dann aber wieder paar Schritte zurück gehen. Als ich aber wieder an dieser Stelle war, wurde mir anstatt der zu diesem Zeitpunkt bereits installierten SSH-, Web-Server etc. die GAs vorgeschlagen. Nach der Installation brauchte mich nicht mehr um diesen Part zu kümmern — alles hat auf Anhieb funktioniert.

3. Gemeinsamen Ordner einbinden.

Jetzt muss das gemeinsame Verzeichnis nur gemountet werden:

mount -t vboxsf -o uid=1000,gid=1000 workspace /var/www

Möchte man seinen ~/.ssh Ordner als SF haben, muss genau auf die Parameter uid (user ID) und gid (group ID) geachtet werden. Sonst ist es, wenn man auf der VM als root:root arbeitet, nicht rforderlich, aber in dem Fall schon. Außerdem muss dem mount-Befehl ein weiteres Argument (umask) mitgegeben werden, um die Zugriffsrechte auf ~/.ssh einzuschränken:

mount -t vboxsf -o uid=0,gid=0,umask=077 sshkeys /root/.ssh

Sonst können die SSH-Keys nicht verwendet werden:

# git clone git@github.com-user:user/project.git
Cloning into project...
Bad owner or permissions on /root/.ssh/config
fatal: The remote end hung up unexpectedly

Damit man das nicht jedes Mal von Hand machen muss, wird der mount-Befehl in die /etc/rc.local (vor dem exit 0) eingefügt. Alternativ geht das über die /etc/fstab.

Alles hier Beschriebene bezieht sich auf die VirtualBox 4.2.6, ein Windows-7 Host-System und ein Guest-System mit folgenden Parametern:

# lsb_release -a
No LSB modules are available.
Distributor ID:    Debian
Description:    Debian GNU/Linux 6.0.6 (squeeze)
Release:    6.0.6
Codename:    squeeze
# gnome-about --gnome-version
Version: 2.30.2
Distributor: Debian
Build Date: 11/12/2010

Comments are closed.