Ist es hinsichtlich der Speichergröße effizient, „Archivieren und Komprimieren“ oder „Komprimieren und Archivieren“ zu verwenden?

Ist es hinsichtlich der Speichergröße effizient, „Archivieren und Komprimieren“ oder „Komprimieren und Archivieren“ zu verwenden?

Ich versuche, alte Dateien (1000+) zu archivieren und denke über zwei Optionen nach

  1. gzip einzelne Dateien und dann eine Zip-Datei erstellen

  2. Erstellen Sie GZIP mit tar cvzfeiner Gruppe von Dateien

Ich bin nicht sicher, was hinsichtlich der Speicherplatznutzung am effizientesten wäre.

Gibt es Informationen, die beim Verständnis der besten Vorgehensweise helfen würden?

Antwort1

Die Verwendung von gzip und dann zip ist redundant. Zip hat eine eigene Komprimierung, die jedoch möglicherweise nicht so hoch ist wie die von gzip. Die Verwendung von zip ist wahrscheinlich besser, wenn Sie einzelne Dateien aus dem resultierenden Archiv extrahieren möchten.

Wenn Sie tar zum Sammeln der Dateien verwenden und dann gzip, erhalten Sie wahrscheinlich eine höhere Komprimierungsrate, da Sie eine Komprimierung zwischen Dateien sowie innerhalb von Dateien erreichen können. Sie müssen sie jedoch zusammen dekomprimieren, um überhaupt eine Auflistung dessen zu erhalten, was sich im Archiv befindet, sowie einzelne Dateien extrahieren. Wenn Sie immer das gesamte Archiv extrahieren würden, ist dies hinfällig.

Beachten Sie auch, dass Sie dies alles in einem Schritt erledigen können. Beispiel:

tar cf - somedir | gzip -9 > somedir.tar.gz

oder gleichwertig

tar czf somedir.tar.gz somedir

Alternativ können Sie xz (oder die Option J statt z) verwenden, wodurch Sie eine noch höhere Komprimierungsrate erhalten, allerdings auf Kosten einer deutlich längeren Komprimierungszeit. (Wenn es sich jedoch um eine Langzeitarchivierung handelt, ist Ihnen die Komprimierungsdauer möglicherweise egal.)

verwandte Informationen