Teer und Gzip zusammen, aber umgekehrt?


7

Das Komprimieren einer TAR-Datei als Ganzes ist kinderleicht und sogar als Option im Inneren 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 es eine einzelne beschädigte komprimierte Datei gibt, als wenn Ihr gesamter Tarball aufgrund von GZIP- oder Kopierfehlern beschädigt ist.)

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

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

Antworten:


4

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

zip -r folder.zip folder

Ich bin mir 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 die Handhabung des Archivs vollständig verweigert (dh dasselbe wie ein beschädigtes .tar.gz-Archiv).
Boldewyn

@boldewyn: ja, so funktioniert zip. Es ist ein Containerformat (ein bisschen wie tar), in dem Sie "Speichermethoden" für die Elemente angeben können. entweder komprimieren ("entleeren") oder einfach "speichern".
Akira

11

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

Möglicherweise ist es besser, die Daten auf die übliche Weise zu komprimieren (oder wenn Sie CPU-Zyklen sparen müssen, das langsamere, aber platzsparendere 7zip), als das Ergebnis in ein paritätstyp fehlertolerantes Format wie http: //en.wikipedia zu verpacken .org / wiki / Parchive . Dies bietet Ihnen ein viel größeres Potenzial für eine vollständige Wiederherstellung nach einer Datenbeschädigung aufgrund eines Medienfehlers oder von Problemen bei der Übertragung über das Netzwerk, ohne dabei die Größe der resultierenden Archive zu beeinträchtigen.


Dang, schlag mich! +1 Als moderne Kompressoren + Vorwärtsfehlerkorrektur = besser geschützt und höchstwahrscheinlich immer noch kleinere Gesamtdateien als jede Art der Verwendung von Tar + gzip. Weitere Informationen unter par2.net
Mokubai

Dies ist wirklich der richtige Weg, um Dinge zu tun! tarErstellen Sie einen großen Container für alles, gzipentfernen Sie unnötige Redundanzen im Container, parfügen Sie Redundanzen hinzu, jedoch auf einheitliche und sorgfältig gestaltete Weise. (Ich habe es noch nie benutzt, paraber ich kenne das Prinzip.)
user39559

Das Komprimieren jeder Datei kann eine große Verschwendung sein. Es ist, als ob Sie gzip brechen, als es gerade erst Wirkung zeigte, und es für die nächste Datei neu starten. In einem extremen Testfall haben 100 Replikate einer zufälligen Datei (Maximum-Entropie) einen Komprimierungsfaktor von weniger als 1 mit gzip + tar, können jedoch einen Komprimierungsfaktor nahe 100 mit tar + gzip haben.
user39559

0

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


... und funktioniert nicht mit der -zoder -jFlagge. Außerdem hilft die Überprüfung während der Archivierung nicht gegen spätere Beschädigungen, z. B. ein nicht bemerktes Bit-Flip beim Kopieren auf das Sicherungsgerät.
Boldewyn

0

Was möchten Sie sichern? Wenn die Berechtigung keine Rolle spielt (z. B. keine Systemdateien), würde ich mich für 7zip entscheiden. Bietet eine viel bessere Leistung (Multi-Core / CPU) bei viel besserer Komprimierung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.