Umgang mit Sparse-Dateien #

Unter dem Linux-Filesystem ext2 bzw. ext3 ist es möglich, sogenannte "sparse"-Dateien zu benutzen. Dabei werden Datenblöcke, die nur Nullen enthalten, nicht auf die Platte geschrieben. Wenn man also eine große Datei hat, die aber eigentlich leer ist, benötigt diese fast gar keinen Platz. Sparse-Dateien sind also besonders nützlich bei Harddisk-Images z.B. für UserModeLinux oder [QEmu]].

Anzeigen kann man sparse-Dateien mit

  ls -lsh

Durch das s wird ganz vorne die echte, also physikalische Dateigröße angezeigt. Stimmt die nicht mit der normalen Größe überein, so haben wir sparse-Blöcke in der Datei. Erzeugen kann man sparse-Dateien, indem man mit cp eine bestehende Datei konvertiert oder indem man sie mit der seek-Option von dd neu erzeugt, also z.B. so:

  cp --sparse=always altedatei neuedatei
  dd if=/dev/zero of=test.img bs=1M seek=1024 count=0

Außerdem gibt es noch einen außerordentlich interessanten Trick, um Sparse-Files auch aus einer Pipe zu erzeugen. Folgendes Beispiel habe ich aus der manpage von "ntfsclone"

  bunzip2 -c ntfsmeta.img.bz2 | cp --sparse=always /proc/self/fd/0 ntfsmeta.img

Die Datei "/proc/self/fd/0" ist dabei ein anderer Name für die Standardeingabe.

Zum Erzeugen von SparseFiles siehe auch den ARtikel FestplatteAufraeumen. L -- ThomasBayen

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-4) was last changed on 11-Sep-2011 18:43 by ThomasBayen