Verschiedene Archivgroessen bei demselben Verzeichnis

tella

Active Member
Hallo,

ich habe mit dem tar zcvf - Kommando ein Archiv eines Verzeichnisses in meinem Homeverzeichnis erstellt. Danach habe ich mit der Kommandofolge:
tar cvf - archiverzeichnis | (cd /tmp; tar xpvf -) das urspruengliche Verzeichnis ins tmp-Verzeichnis kopiert. Anschliessend habe ich im Tmp-Verzeichnis erneut ein gziptes Tar-Archiv mit derselben Kommandofolge wie im ersten Versuch erstellt.

Wahrend des Vorganges wurde der Verzeichnisinhalt nicht veraendert. Zu meinem erstaunen hatten die beiden Archive allerdings unterschiedliche Groessen. Der Unterschied ist minimal. Ein md5 liefert dementsprechend auch prompt vershchiedene Ergebnisse.

Um der Sache auf den Grund zu gehen habe ich die Archive jeweils entpackt und das Kommando "find . -exec md5 {} \; | sort > ../zieldatei" abgesetzt. Ein anschliessendes diff auf die md5-Dateien ergab, dass die Dateien innerhalb des Archives alle dieselbe Pruefsumme hatten, die Pruefsummen der Verzeichnisse aber unterschiedlich waren.

Anschliessend habe ich denselben Vorgang auf einem Linux-System durchgefuehrt. Auch hier gibt es Unterschiede bei der Archivgroesse. Das unter Linux verfuegbare md5sum kann allerdings scheinbar keine Pruefsummen zu Verzeichnissen berechnen. Deswegen habe ich das nicht weiter verfolgt.

Warum haben die Archive in verschieden Filesystemen unterschiedliche Groessen bzw. Pruefsummen? Warum gibt es diesen Groessenunterschied gerade bei den Verzeichnissen?

Ach ja, getestet habe ich das unter FreeBSD 4.10 und 4.10-p2.

:confused:
 
Also die Pruefsummen sind klar, das Archive erstellt die Verzeichniseintraege in anderer Reihenfolge. Du solltest also nicht das erste Archiv mit dem zweiten vergleichen, sondern das zweite mit dem dritten. Danach unterscheiden sich die Archive aber immernoch, weil sich ja die c/i/a-time aendern. (aber ganz firm bin ich auf dem Gebiet auch nicht)

Achja, wie genau ist denn der Groessenunterschied?

Edit: *Nachdenk*
Hmm, das mit den Verzeichnisseintraegen kanns ja eigentlich auch nicht sein... _wie_ Unterscheiden sich die Verz. denn genau?
 
Zuletzt bearbeitet:
Achja, wie genau ist denn der Groessenunterschied?

Ein paar Byte:

1. int /tmp
-rw-r--r-- 1 tella wheel 34507 7 Okt 18:26 ddclient-3.6.3.tar.gz
2. unter ~
-rw-r--r-- 1 tella users 34501 7 Okt 18:25 ddclient-3.6.3.tar.gz

Edit: *Nachdenk*
Hmm, das mit den Verzeichnisseintraegen kanns ja eigentlich auch nicht sein... _wie_ Unterscheiden sich die Verz. denn genau?

Eigentlich gar nicht. Sie liegen halt in verschiedenen Filesystemen.

Gerade ist mir aufgefallen das die Dateien unterschiedlichen Gruppen gehören. Beim kopieren nach /tmp wird die Gruppe der Dateien auf die Gruppe des tmp-Verzeichnisses gesetzt. Das macht scheinbar den Unterschied.

Wenn ich ein chmod -R draufloslasse sind die Archivgrößen identisch.

Falls noch jemand nähere Infos dazu hat, immer her damit.

Vielen Dank
 
Zurück
Oben