Aufteilen in viele .ZIP-Dateien mit 7-Zip

12

Wenn ich einen 100-GB-Ordner habe und ZIP aufteile, gibt es einen Unterschied darin, wie viel Speicherplatz verbraucht wird, wenn ich ihn in 100 ZIP-Dateien mit jeweils 1 GB oder 10 ZIP-Dateien mit jeweils 10 GB aufteile?

Nehmen 100 .ZIP-Dateien mit jeweils 1 GB mehr Speicherplatz ein als 10 .ZIP-Dateien mit jeweils 10 GB?

Kong
quelle
Und du kannst es nicht herausfinden, weil?
Dave
5
Warum kannst du es nicht einfach versuchen?
Peter Mortensen
1
Jede eigenständige ZIP-Datei hat einen gewissen Overhead. Sie können jedoch eine ZIP-Datei in Teile zerlegen, die wieder zusammengesetzt werden können. Diese Teile haben nicht den ZIP-Overhead in jedem und wenn Sie an Sektor- oder Blockgrenzen teilen, enthalten sie keinen verschwendeten Speicherplatz.
Fixer1234

Antworten:

18

Lass es uns herausfinden!

100 MB Dateien (27 Stück):

7z a -tzip -v100M ./100m/archive ./kali-linux-xfce-2018.2-amd64.iso

$ du ./100m/
2677884 ./100m/

10 MB Dateien (262 Stück):

7z a -tzip -v10M ./10m/archive ./kali-linux-xfce-2018.2-amd64.iso

$ du ./10m/
2677908 ./10m

Ergebnisse: Das 10-MB-Split-Archiv benötigt zusätzliche 24 KB. Ja, es gibt einen Unterschied: Die 100 1-GB-Dateien belegen mehr Speicherplatz als die 10 10-GB-Dateien.

Der Unterschied scheint jedoch vernachlässigbar zu sein. Ich würde mich für das entscheiden, was für Sie bequemer ist.

Layne Bernardo
quelle
4
duStandardmäßig wird die Größe nicht in Byte ausgegeben (es sei denn, aus 270 Millionen Dateien wurden 2.677.908 Byte). Es zeigt die Größe der Dateien auf der Festplatte an, die von der tatsächlichen Datengröße abweichen kann (möglicherweise zum Hochladen oder Speichern auf anderen Dateisystemen
geeignet
Sie haben Recht, es wird tatsächlich in KB ausgegeben. Ich habe die Antwort bearbeitet, um diese Diskrepanz zu korrigieren. Die Originaldatei ist eine Kali Linux ISO, sie ist ~ 2.6GB. Sie haben einen guten Punkt bezüglich der Größe der Festplatte im Vergleich zur tatsächlichen Datengröße. Ich habe speziell über die Größe der Festplatte nachgedacht, da dies den Overhead für zusätzliche Dateien ausmacht, aber Sie haben Recht, dass dies je nach dem, was Sie tun, unterschiedlich sein würde. ' Ich mache das tatsächlich mit den Archiven.
Layne Bernardo
Entschuldigung, ich habe Ihre weitgehend ähnliche Antwort gekreuzt, während ich die Laufzeichenfolgen überprüft habe.
AFH
Die maximale Größe der Zip-Datei beträgt 4 GB.
pbies
1
Ja, deshalb habe ich mir nicht die Mühe gemacht, ein Prozent zu berechnen. Ich denke nicht, dass es zu einem flachen Prozentsatz der ursprünglichen Dateigröße passt, insbesondere angesichts der Unterschiede in den Dateisystemen.
Layne Bernardo
15

Jede Datei hat nach dem Dateiende einen Dateisystem-Overhead von nicht verwendetem Speicherplatz für logische Sektoren. Dies wird jedoch beseitigt, wenn die Teilungsgröße ein Vielfaches der Größe des logischen Sektors ist (gilt nicht unbedingt für mein Beispiel unten).

Möglicherweise werden zusätzliche Bytes von den zusätzlichen Verzeichniseinträgen verwendet, diese werden jedoch nur angezeigt, wenn das Verzeichnis jetzt einen zusätzlichen logischen Sektor belegt.

Die geteilten Dateien sind inhaltlich identisch mit denen, die von einem binären Splitter-Programm mit derselben geteilten Größe erstellt wurden.

Ich habe diese unter Linux überprüft, indem ich die GUI-Version für eine 7 + MB-Datei verwendet habe, 8 geteilte Dateien mit einer Größe von 1 MB mit 7-Zip ( File.7z.00?) erstellt und dann ein einzelnes, vollständiges Archiv ( Full.7z) erstellt habe, mit dem ich geteilt habe: -

7z -v1000000 a File;                                         # Create split volumes File.7z.00?
7z a Full File;                                              # Create full archive Full.7z
split -b 1000000 -a 3 --numeric-suffixes=1 Full.7z Full.7z.; # Split full archive into Full.7z.00?
for f in {001..008}; do cmp Full.7z.$f File.7z.$f; done;     # Compare splits with 7z volumes

Um auf einem anderen Betriebssystem zu testen, müssen Sie möglicherweise ein geeignetes Splitter-Programm herunterladen oder schreiben.

AFH
quelle