Ich verwende Linux als Gastbetriebssystem in VirtualBox. Ich habe eine große Anzahl von Dateien aus dem Dateisystem gelöscht. Jetzt möchte ich die Dateisystem-Image-Datei (vdi) verkleinern. Das Verkleinern funktioniert durch Komprimieren des Dateisystem-Images, wo immer es den Wert "null" auf der Festplatte hat.
Es scheint, dass eine Anwendung namens zerofree "null" so in den freien Speicherplatz des Dateisystems schreiben kann, dass es spärlich wird. Aber die Anweisungen sagen, dass es nur auf ext2 / ext3 funktioniert. Ich habe ext4 auf meinem Gastbetriebssystem.
Warum funktioniert es in Ext 4 nicht (der genannte Grund ist "Extents", aber kann jemand mehr Licht ins Dunkel bringen)?
Wird es funktionieren, wenn ich die ext 4 als ext 3 mounte und dann als ext 4 wieder montiere ?
Gibt es noch andere Tools, die ähnliche Funktionen wie nullfrei auf ext ausführen können?
quelle
Antworten:
Auf der Seite, auf die Sie verweisen ( http://intgat.tigress.co.uk/rmy/uml/index.html ), heißt es:
Ich bin mir also nicht sicher, woher Sie kommen, dass es auf ext4-Dateisystemen nicht funktioniert.
Beachten Sie, dass sich das Dienstprogramm zerofree von dem auf derselben Seite erwähnten Kernel-Patch zerofree unterscheidet (der in der Tat keine Version für ext4 zu haben scheint).
Update: Zumindest im Fall von VirtualBox glaube ich nicht, dass Sie dieses Dienstprogramm überhaupt benötigen. In meinen Tests können Sie bei einer Standardinstallation von Ubuntu 10.04 auf ext4 das Dateisystem wie folgt auf Null setzen:
... warten Sie, bis sich die virtuelle Festplatte gefüllt hat
und fahren Sie die VM herunter. Führen Sie dann auf Ihrem VirtualBox-Host Folgendes aus:
und Sie werden den gesamten nicht genutzten Speicherplatz wiederherstellen.
quelle
sync
nach demdd
.dd
Idee hat auch bei mir funktioniert. Schön gemacht!Sie könnten verwenden
e2fsprogs
, es gibt eine Version, die mit ext4 verwendet werden kann.Machen Sie sich zum Superuser:
# su
Hängen Sie Ihr Laufwerk aus:
# umount /dev/sda1
Entfernen Sie das Journal Ihres Laufwerks:
# tune2fs -O ^has_journal /dev/sda1
Und ändern Sie dann die Größe Ihres Dateisystems:
# resize2fs /dev/sda1 30G
quelle