Μετά από αρκετό setup και install/deinstall (ειδικά αν θέλετε να κάνετε compile ένα πακέτο εντός του VM ή κάτι παρόμοιο), δεν είναι παράξενο το df εντός του VM να μας λέει π.χ., 500ΜΒ αλλά το ίδιο το αρχείο του image να είναι 1-2GB, λόγω του ότι τα filesystems προσπαθούν να μην πειράζουν τα σβησμένα αρχεία όταν δεν είναι αναγκασμένα να το κάνουν (ώστε να έχει ελπίδες το undelete).
Πώς μπορούμε λοιπόν να ξαναμικρύνουμε ένα π.χ., qemu qcow2 image ώστε το μέγεθός του να ανταποκρίνεται στο μέγεθος των περιεχομένων του; Η λύση είναι ένας συνδυασμός προγραμμάτων που τρέχουμε εντός του VM και του qemu-img.
Σε όλες τις περιπτώσεις η γενική ιδέα είναι να φτιάξουμε ένα αρχείο που αποτελείται μόνο από μηδενικά και θα καταλάβει όλο τον ελεύθερο χώρο στο δίσκο και μετά να το σβήσουμε.
Για να το κάνουμε αυτό:
Στο Linux/Unix:
Στα Windows:dd if=/dev/zero of=zeros bs=20971520 # block size 20MB for speed
rm -f zeros
Κατεβάστε το freeware πρόγραμμα Eraser και πείτε του να γράψει μηδενικά ή χρησιμοποιήστε το επίσης free as in beer εργαλείο sdelete από τη Microsoft (κάποια πρόσφατη έκδοση) με το switch "-c" ή στα WindowsXP δώστε σε ένα
τερματικό την εντολή
Έπειτα από τα παραπάνω, απενεργοποιήστε την εικονική μηχανή και δώστε από τοcipher /W:C:
host:
Κάντε rename το myimage.img σε myimage.img.old και το myimage.img.new σε myimage.img, δοκιμάστε το myimage.img για να βεβαιωθείτε ότι δουλεύει σωστά και μετά μπορείτε να σβήσετε το myimage.img.old και είστε έτοιμοι :)qemu-img convert -O qcow2 myimage.img myimage.img.new
Παντελής
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου