How-to: VMware Ubuntu Image verkleinern
Geschrieben von: Markus Junginger in Linux, tags: Ubuntu, VMware, VMware ImageMit der Zeit belegen virtuelle Festplatten dynamischer Größe unnötig Platz auf dem Host System. Wie sich der Platz wieder zurückgewinnen lässt, zeigen die folgenden Schritte. Hier wird ein Ubuntu Linux Gastsystem angenommen, aber das Vorgehen sollte sich auch auf andere Systeme übertragen lassen, insbesondere auf Debian und Derivate.
- Backup: Um Datenverluste zu vermeiden, empfiehlt sich ein Backup der VM. Dazu einfach im ausgeschalteten Zustand der VM das gesamte Verzeichnis mit dem VM Dateien kopieren (duplizieren).
- Alte und nicht benötigte Pakete deinstallieren: Über “System->Administration->Synaptic Paketverwaltung” lassen sich Pakete installieren und entfernen. Installierte Pakete lassen sich auch nach der Größe sortieren um besonders große schnell zu identifizieren.
- Alte Downloadpakete deinstallieren: Ubuntu lädt zu installierende Pakete in ein Cache Verzeichnis auf dem Filesystem (/var/cache/apt/archives/). Möchte man diesen Cache nach erfolgter Installation komplett löschen führt man folgenden Befehl im Terminal aus:
sudo apt-get cleanUm lediglich Pakete im Cache zu löschen, von denen bereits eine neuere Version im Cache vorliegt dient diese Variante:
sudo apt-get autoclean - Eventuell “Ausnullen”: Siehe unten für Anmerkungen und Details
- Festplatte shrinken: Um den freien Platz auch tatsächlich auf dem Host System zurück zu gewinnen, benötigt man VMware Tools. Im Terminal muss die VMware Toolbox mit root Rechten aufgerufen werden:
sudo vmware-toolboxIm erscheinenden Fenster geht man auf den Tab “Shrink”, wählt ein Device aus (“/”) und startet den Vorgang mit dem Button “Shrink”. Das funktioniert mit VMware Server und Player gleichermaßen.
- Alternativ Defragmentieren: Im Gegensatz zu Shrink gewinnt man beim Defragmentieren keinen Speicherplatz zurück, aber es kann sich positiv auf die Performance auswirken. Dazu fährt man die VM herunter und wählt in der Hardware Einstellungen der VM die Festplatte aus. Hier ist ein Button zum Defragmentieren zu finden. Nach einem Shrink scheint ein Defragmentieren allerdings keinen weiteren Effekt mehr zu haben. VMware Player unterstützt die Defragmentierung nicht.
Als Alternative und eventuell auch als Ergänzung kann das Ausnullen unbenutzter Bereiche dienen. Insbesondere wenn die VM zu einem Archiv komprimiert werden soll, kann dies spürbare Verbesserungen erzielen:
cat /dev/zero > zero.dat ; sync ; sleep 1 ; sync ; rm zero.dat
(Quellen: Virtual PC Guy, h0bbel)
Inwieweit das in Kombination mit Shrink und Defragmentieren nötig ist, beziehungsweise etwas bringt habe ich nicht genauer untersucht.
Insgesamt konnte ich mit diesen Schritten die Größe eines komprimierten Images um über 20% reduzieren, und das obwohl ich das System vollständig aktualisiert und zusätzliche Pakete installiert habe. Diese Images sind auch hier als Download verfügbar:
Ubuntu 7.04 VMware Image
Kubuntu 7.04 VMware Image



Einträge (RSS)
thanks for this instructions, it was extremly helpful – I did defragment and zero-out, but no shrink.
Results for the compressed files (because that was what I needed): 1.2 GB before, 246M after
The running VM contained 850 MB real data on the disk, it was a Debian
So great stuff, thanks again
Robert