Suddivisione in molti file .ZIP utilizzando 7-Zip


12

Se ho una cartella da 100 GB e la divido ZIP, c'è una differenza in quanto spazio su disco viene consumato se la divido in 100 file .ZIP a 1 GB ciascuno o 10 file .ZIP a 10 GB ciascuno?

100 file .ZIP a 1 GB occupano ciascuno più spazio di 10 file .ZIP a 10 GB ciascuno?


E non puoi scoprirlo perché?
Dave,

5
Perché non puoi provarlo?
Peter Mortensen,

1
Ogni file ZIP autonomo ha un certo sovraccarico. Tuttavia, puoi tagliare un file ZIP in pezzi che possono essere riassemblati. Questi pezzi non hanno l'overhead ZIP in ciascuno di essi e se li dividi in settori o blocchi i confini, non contengono spazio sprecato.
fixer1234

Risposte:


18

Scopriamolo!

File da 100 MB (27 pezzi):

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

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

File da 10 MB (262 pezzi):

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

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

Risultati: l'archivio suddiviso da 10 MB occupa ulteriori 24 KB. Quindi sì, c'è una differenza, i file da 100 1 GB occuperanno più spazio rispetto ai file da 10 10 GB.

La differenza sembra tuttavia trascurabile. Vorrei scegliere quello che è più conveniente per te.


4
dunon genera la dimensione in byte per impostazione predefinita (a meno che i 270 milioni di file non siano stati convertiti in 2.677.908 byte). Visualizza la dimensione dei file su disco, che può essere diversa dalla dimensione effettiva dei dati (forse applicabile per il caricamento o l'archiviazione su altri file system)
Xen2050,

Hai ragione, in realtà viene emesso in KB. Ho modificato la risposta per correggere questa discrepanza. Il file originale è un Kali Linux ISO, è ~ 2.6GB. Hai un buon punto sulla dimensione del disco rispetto alla dimensione effettiva dei dati, stavo pensando in particolare alla dimensione del disco perché tiene conto del sovraccarico di avere file aggiuntivi, ma hai ragione che sarebbe diverso a seconda di ciò che " stai effettivamente facendo con gli archivi.
Layne Bernardo,

Mi dispiace, ho incrociato con la tua risposta in gran parte simile mentre stavo ricontrollando le stringhe di esecuzione.
AFH,

La dimensione massima del file zip è di 4 GB.
pbies,

1
Sì, ecco perché non mi sono preoccupato di calcolare una percentuale. Non penso che risolva una percentuale piatta della dimensione del file originale, soprattutto considerando le differenze nei file system.
Layne Bernardo,

15

Ogni file ha un sovraccarico di file system di spazio del settore logico inutilizzato dopo la fine del file, ma questo viene eliminato se la dimensione della divisione è un multiplo della dimensione del settore logico (non necessariamente vero per il mio esempio di seguito).

Potrebbero esserci byte extra usati dalle voci di directory extra, ma queste non verranno visualizzate a meno che la directory non occupi ora un settore logico aggiuntivo.

I file divisi hanno un contenuto identico a quelli creati da un programma splitter binario con le stesse dimensioni divise.

Li ho verificati su Linux usando la versione della GUI su un file da 7 + MB, dando 8 file divisi di 1 MB con 7-Zip ( File.7z.00?), quindi Full.7zho creato un singolo archivio completo ( ), che ho diviso con: -

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

Per eseguire il test su un altro sistema operativo, potrebbe essere necessario scaricare o scrivere un programma splitter appropriato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.