Virtualbox Image schrumpfen
Virtualbox ist prima geeignet um ein Ubuntuserver für die Entwicklung zu verwenden. Besonderer Komfort erzielt man dabei wenn man das Image auf einem USB-Stick auch unterwegs am Laptop nutzen kann.
Doch im Gegensatz zu dem verschwenderischen Platz auf Festplatten stösst man auf einem USB-Stick schnell an ein Speicherlimit. Die Datenmengen steigen erst recht wenn man häufige SVN Updates des verwendeten Frameworks lädt.
"Aber ein SVN-Update löscht doch vorher die Dateien."
Ja richtig die Datei wird gelöscht und ist für den Benutzer nicht mehr erreichbar. Aber was passiert dabei intern? Der Eintrag im Filesystem wird gelöscht. Doch die Daten in Form von Bytes verbleiben im Image. Das heisst es steht an der Stelle an der vorher die Datei stand ein Salat aus Nullen und Einsen.
Damit steigt das Volumen eines dynamischen Imagefiles immer mehr an. Jetzt hat Virtualbox eine Möglichkeit diese Images zu komprimieren. Allerdings werden dabei nur die Teile des Image reduziert die nur mit Nullen beschrieben sind. Für unser "verschmutzes" Image also nicht anwendbar.
Mit dem folgenden Tutorial möchte ich erklären wir es trotzdem gehen kann. Auch nicht so linuxfeste Nutzer können bei strikter Einhaltung der Anleitung es schaffen das Image zu verkleinern und Platz für neue Daten zu schaffen. Trotzdem sollte nicht verschwiegen werden, dass es Möglicherweise zu Fehlern kommen kann, also bitte VORHER ein Backup vom Image anlegen.
Zu erledigende Punkte
- zerofree Datei downloaden von: http://intgat.tigress.co.uk/rmy/uml/zerofree-1.0.1.tgz
- Datei entpacken:
tar -xvzf zerofree-1.0.1.tgz - In das Zerofree Verzeichnis wechseln:
cd zerofree-1.0.1 - Benötigte Bibliotheken gcc und ext2fs installieren:
sudo apt-get install build-essential
sudo apt-get install e2fslibs-dev - C-Code Kompilieren:
make - Ausführbare Datei ins /usr/bin Verzeichnis kopieren:
sudo cp zerofree /usr/bin - Im Runlevel 1 starten:
sudo telinit 1 - "root" im Wiederherstellungsmenu auswählen.
- Prüfen welche Laufwerke vorhanden sind:
df - Laufwerk nur lesend mounten:
mount -n -o remount,ro -t ext2 /dev/sda1 / - Filesystem prüfen
fsck -f /dev/sda1 - Gelöschte Dateien nullen:
zerofree /dev/sda1 - Nochmals das Filesystem prüfen
fsck -f /dev/sda1 - Linux Beenden:
halt - In der Windows Konsole das Komprimieren aufrufen:
"C:\Program Files\Sun\VirtualBox\VBoxManage" modifyvdi vdi_file.vdi compact
Meine Mission
Ziel meiner Veröffentlichungen ist es, meine Begeisterung für die Programmierung und das über die Jahre gewonnene Wissen mit anderen Entwicklern zu teilen. Dabei ist es mir wichtig, Lösungen zu thematisieren für die ich in Suchmaschinen keine Antworten finden konnte. Außerdem versuche ich die von mir veröffentlichten Extensions an Beispielen zu erläutern.
Entwicklung
Service
Neueste Blogeinträge
-
CLI remote Debugging kurz konfiguriert
22. Juli 2016
-
jQuery.toggle() ab Version 1.9 entfernt
17. Jan. 2013
-
CodeSniffer in Eclipse nutzen
13. März 2011