Wie erstellt man eine Kopie eines VMware Image, mit der man parallel weiterarbeiten will?

Als Beispiel existiert das Image meinprojekt-1.0. Davon möchte ich nun eine Kopie erstellen, die parallel zum bisherigen Image verwendet werden soll, z.B. mit dem Namen meinprojekt-2.0 (im SCM Jargon würde man dazu Branch sagen).

Die Anleitung beschreibt, wie man mit Mac OS X oder Linux vorgeht. Sie sollte sich aber leicht auf Windows übertragen lassen.

Dazu sind folgende Arbeitsschritte nötig:

1. Kopie des Verzeichnisses erstellen

Wichtig: Bevor Du das Verzeichnis kopierst, muss das Image meinprojekt-1.0 heruntergefahren sein.

cp -a meinprojekt-1.0  meinprojekt-2.0

2. Dateien umbenennen

Alle Dateinamen, in denen der String “meinprojekt-1.0” vorkommt, in “meinprojekt-2.0” umbenennen:

for i in meinprojekt-1.0.*; do mv "$i" "${i/meinprojekt-1.0./meinprojekt-2.0.}"; done
for i in meinprojekt-1.0-*; do mv "$i" "${i/meinprojekt-1.0-/meinprojekt-2.0-}"; done

3. Konfigurationsdatei anpassen

Nun öffnet man mit einem Editor seiner Wahl die Dateien meinprojekt-2.0.vmx und meinprojekt-2.0.vmdk. In beiden Dateien müssen alle Vorkommnisse “meinprojekt-1.0” mit “meinprojekt-2.0” ersetzt werden. Alternative kann man dies auch mit folgendem Befehl erreichen:

sed 's/meinprojekt\-1\.0/meinprojekt\-2\.0/g' meinprojekt-2.0.vmx > meinprojekt-2.0.vmx.new && mv meinprojekt-2.0.vmx.new meinprojekt-2.0.vmx
sed 's/meinprojekt\-1\.0/meinprojekt\-2\.0/g' meinprojekt-2.0.vmdk > meinprojekt-2.0.vmdk.new && mv meinprojekt-2.0.vmx.new meinprojekt-2.0.vmdk

4. Nicht benötigte Dateien entfernen

Alle Dateien und Verzeichnisse mit der Endung lck und log löschen:

rm -r meinprojekt-2.0/*.lck meinprojekt-2.0/*.log

Nach diesen vier Arbeitsschritten kann man die neue Kopie des Images mit VMware Player, Workstation, Fusion oder Server öffnen und starten. Beim ersten Start wird man gefragt, ob man das Image kopiert oder verschoben hat. Hier wählt man “verschoben” aus (wichtig, damit für das Gastsystem eine neue IP Adresse zugewiesen wird).

Aktualisiert: