Teer und Gzip zusammen, aber andersherum?

1240
Boldewyn

Das Entpacken einer TAR-Datei als Ganzes ist einfach zu erledigen und sogar als Option implementiert tar. So weit, ist es gut. Doch aus der Sicht des Archivierungs, wäre es besser, teeren die gzipped einzelnen Dateien. (Der Grund dafür ist, dass der Datenverlust minimiert wird, wenn eine einzelne beschädigte gzippierte Datei vorhanden ist, als wenn der gesamte Tarball aufgrund von Gzip- oder Kopierfehlern beschädigt ist.)

Hat jemand Erfahrung damit? Gibt es Nachteile? Gibt es dafür solidere / getestete Lösungen als

find folder -exec gzip '{}' \; tar cf folder.tar folder 
7

4 Antworten auf die Frage

11
David Spillett

Der Hauptnachteil besteht in der Reduzierung der Komprimierung, insbesondere wenn Ihr Archiv viele kleine Dateien enthält.

Sie sollten die Daten auf die übliche Weise besser komprimieren (oder, wenn Sie CPU-Zyklen benötigen, um den langsameren, aber platzsparenderen 7-Zip-Wert zu speichern), als das Ergebnis in ein paritätebasiertes fehlertolerantes Format wie http: //en.wikipedia zu packen .org / wiki / Parchive . Dies bietet ein viel größeres Potenzial für eine vollständige Wiederherstellung nach Datenbeschädigung aufgrund von Medienfehlern oder Problemen beim Transport über das Netzwerk, wobei möglicherweise die Größe der resultierenden Archive nicht zu sehr beeinträchtigt wird.

Dang, schlag mich dazu! +1 Bei modernen Kompressoren + Vorwärtsfehlerkorrektur = besser geschützte und höchstwahrscheinlich kleinere Gesamtdateien als beide Arten der Verwendung von Tar + gzip. Mehr Infos unter http://www.par2.net Mokubai vor 14 Jahren 0
Das ist wirklich der richtige Weg, Dinge zu tun! "tar" erzeugt einen großen Container für alles, "gzip" entfernt unnötige Redundanzen im Container, "par" fügt etwas Redundanz hinzu, aber auf einheitliche und sorgfältig konzipierte Weise. (Ich habe noch nie "par" verwendet, aber ich kenne das Prinzip.) user39559 vor 14 Jahren 0
Das Komprimieren jeder Datei kann eine große Verschwendung sein. Es ist, als würden Sie gzip unterbrechen, wenn es gerade erst Wirkung zeigte und Sie für die nächste Datei neu beginnen. In einem extremen Testfall haben 100 Kopien einer Zufallsdatei (maximaler Entropie) bei gzip + tar einen Kompressionsfaktor von weniger als 1, bei tar + gzip jedoch einen Kompressionsfaktor von nahezu 100. user39559 vor 14 Jahren 0
4
Ignacio Vazquez-Abrams

Wenn Sie dies auf diese Weise tun möchten, verwenden Sie die bewährte Methode:

zip -r folder.zip folder 
Ich bin nicht sicher, aber ist das nicht dasselbe wie .tar.gz? Mit anderen Worten, komprimiert zip die einzelnen Dateien und fügt sie auf einfache Weise hinzu. Meine bisherigen Erfahrungen mit beschädigten ZIP-Dateien waren, dass zip den Umgang mit dem Archiv vollständig verweigert (dh dasselbe wie ein beschädigtes Archiv .tar.gz). Boldewyn vor 14 Jahren 0
@ boldewyn: ja, so funktioniert zip. Es ist ein Containerformat (ein bisschen wie tar), in dem Sie "Speicher" -Methoden für die Elemente angeben können. entweder komprimieren ("deflate") oder einfach "speichern". akira vor 14 Jahren 0
0
Jack M.

Warum werfen wir nicht einfach die --verify(oder -W) Flagge tar? Dadurch wird sichergestellt, dass der Inhalt mit der Quelle übereinstimmt.

... und funktioniert nicht mit der `-z`- oder` -j`-Flagge. Die Verifizierung * während der Archivierung hilft auch nicht gegen Korruption im Nachhinein, z. B. ein nicht beachtetes Bit-Flip beim Kopieren auf das Sicherungsgerät. Boldewyn vor 14 Jahren 0
0
Shiki

Was möchten Sie sichern? Wenn die Berechtigung keine Rolle spielt (z. B. keine Systemdateien), würde ich mit 7zip gehen. Bietet eine viel bessere Leistung (Multi-Core / CPU) mit einer wesentlich besseren Komprimierung.