Dzielenie na wiele plików .ZIP za pomocą 7-Zip

12

Jeśli mam folder o pojemności 100 GB i podzielę go na ZIP, czy jest różnica w tym, ile miejsca na dysku zostanie zużyte, jeśli podzielę go na 100 plików .ZIP po 1 GB lub 10 plików .ZIP po 10 GB każdy?

Czy 100 plików .ZIP o pojemności 1 GB zajmuje więcej miejsca niż 10 plików .ZIP o wielkości 10 GB każdy?

Kong
źródło
I nie możesz się dowiedzieć, ponieważ?
Dave
5
Dlaczego nie możesz tego po prostu wypróbować?
Peter Mortensen
1
Każdy samodzielny plik ZIP ma pewien narzut. Można jednak pociąć plik ZIP na części, które można ponownie złożyć. Te elementy nie mają narzutów ZIP w każdym z nich, a jeśli podzielisz się na granicy sektora lub bloku, nie zawierają zmarnowanego miejsca.
fixer1234

Odpowiedzi:

19

Dowiedzmy Się!

100 MB plików (27 sztuk):

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

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

10 MB plików (262 sztuk):

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

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

Wyniki: Dzielone archiwum 10 MB zajmuje dodatkowe 24 KB. Tak, istnieje różnica, 100 plików 1 GB zajmie więcej miejsca niż pliki 10 10 GB.

Różnica wydaje się jednak nieistotna. Wybrałbym to, co jest dla ciebie wygodniejsze.

Layne Bernardo
źródło
4
dudomyślnie nie wyświetla rozmiaru w bajtach (chyba że 270 mln plików zostało zamienionych na 2 677 908 bajtów). Wyświetla rozmiar plików na dysku, który może być inny niż rzeczywisty rozmiar danych (może
dotyczyć
Masz rację, w rzeczywistości jest generowany w KB. Zredagowałem odpowiedź, aby poprawić tę rozbieżność. Oryginalny plik to Kali Linux ISO, to jest ~ 2,6 GB. Masz dobrą rację na temat rozmiaru dysku na tle rzeczywistego rozmiaru danych, szczególnie myślałem o rozmiarze dysku, ponieważ stanowi on obciążenie związane z posiadaniem dodatkowych plików, ale masz rację, że będzie różnie w zależności od tego, co „ faktycznie robię z archiwami.
Layne Bernardo
Przepraszam, skrzyżowałem z twoją w dużej mierze podobną odpowiedzią, kiedy dwukrotnie sprawdzałem ciągi run.
AFH
Maksymalny rozmiar pliku zip to 4 GB.
pbies
1
Tak, dlatego nie zawracałem sobie głowy obliczaniem procentu. Nie wydaje mi się, aby działało to z prostym procentem oryginalnego rozmiaru pliku, szczególnie biorąc pod uwagę różnice w systemach plików.
Layne Bernardo
15

Każdy plik ma narzut systemu plików nieużywanej przestrzeni sektora logicznego po zakończeniu pliku, ale jest to eliminowane, jeśli rozmiar podziału jest wielokrotnością rozmiaru sektora logicznego (niekoniecznie jest to prawda w moim przykładzie poniżej).

Dodatkowe wpisy katalogu mogą zawierać dodatkowe bajty, ale nie zostaną one wyświetlone, chyba że katalog zajmuje teraz dodatkowy sektor logiczny.

Pliki podziału mają identyczną zawartość jak pliki utworzone przez binarny program rozdzielający o tym samym rozmiarze podziału.

Sprawdziłem je w systemie Linux przy użyciu wersji GUI pliku 7 + MB, dając 8 podzielonych plików o rozmiarze 1 MB za pomocą 7-Zip ( File.7z.00?), a następnie utworzyłem jedno pełne archiwum ( Full.7z), które podzieliłem za pomocą: -

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

Aby przetestować na innym systemie operacyjnym, może być konieczne pobranie lub napisanie odpowiedniego programu do rozdzielania.

AFH
źródło