Ich habe mehrere Verzeichnisse mit Tausenden von gzip-Dateien (insgesamt handelt es sich um 1M-Dateien). Einige dieser Dateien sind beschädigt und die meisten sind sehr klein (ein paar KB).
Fast alle von ihnen sind sich inhaltlich sehr ähnlich, daher sollte die Komprimierung aller von ihnen das Kompressionsverhältnis in Bezug auf die aktuelle Situation verbessern.
Da ich diese Verzeichnisse selten durchsuche und sie aus Archivierungsgründen nur haben muss, benötige ich ein hochverfügbares und stark komprimierbares Format und erstelle ein einziges Archiv. Es wäre schön, gelegentlich auf bestimmte Dateien zugreifen zu können, ohne das gesamte Archiv zu dekomprimieren.
Was ist die beste Strategie hier? Ist Teer beständig gegen Korruption? Ich würde etwas vorziehen, das als Einzeiler oder einfaches Bash-Skript implementiert werden kann.
tar
ist kein Kompressor.Antworten:
Nachdem ich das untersucht habe, würde ich das Problem lösen, indem ich alle Dateien dekomprimiere, eine Liste aller sha256-Summen (oder was auch immer Sie bevorzugen) erstelle und dann alle Dateien zusammen in ein einziges Archiv komprimiere. Ich würde gerne eine tar.gz-Datei verwenden, um die Verwendung zu beschleunigen und zu vereinfachen, aber Sie könnten zip, bzip, 7zip, xz oder etwas anderes verwenden, wenn Sie ein kleineres Archiv möchten. Das Komprimieren aller Dateien zu einer einzigen großen Datei spart viel Speicherplatz.
Verwenden Sie in diesem Fall 'par2', um Redundanz und Überprüfung für die komprimierte Datei zu erstellen, und sichern Sie die Datei zusammen mit den .par2-Dateien. (Ich habe nicht viel damit gespielt, aber der Zweck von par2 ist es, ein Archiv zu erstellen, das Redundanz (PARity) erzeugt, um die Integrität der Dateien zu stärken.
quelle
Leider gibt es keine endgültige Antwort auf eine solche Frage. Unterschiedliche Komprimierungsprogramme und -algorithmen haben unterschiedliche Komprimierungsverhältnisse basierend auf den Daten. Wenn es eine Möglichkeit gäbe zu wissen, wie gut die Komprimierung sein wird. Wenn ja, glauben Sie nicht, dass dies in alle Komprimierungsprogramme integriert sein würde?
Sie sagen, es gibt Tausende von 1-MB-Dateien, was einer Anzahl von Gigabyte entspricht. Nehmen wir an, Sie haben 5000 Dateien, das sind 5 GB Daten. Nehmen wir an, Sie können mit Ultra-Zippen bis zu 2 GB speichern. Wenn Sie ein anderes Programm und einen anderen Algorithmus ausprobieren, ist das 5% besser (ich würde das für eine hohe Schätzung halten), das spart Ihnen nur 100 GB. Nicht viel im großen Schema.
Resilienz gegenüber Korruption gibt es nicht. Es ist möglich, dass ein Komprimierungsprogramm eine Beschädigung wie eine fehlgeschlagene CRC-Prüfung besser verarbeitet als ein anderes. Im besten Fall bedeutet dies, dass nicht alle, sondern nur einige Ihrer Daten verloren gehen. Aber auch hier gibt es wirklich keine Möglichkeit zu wissen. Einfach ausgedrückt gibt es keinen Ersatz für die Sicherung wichtiger Daten.
quelle