Dividindo em muitos arquivos .ZIP usando o 7-Zip

12

Se eu tiver uma pasta de 100 GB e a dividir em ZIP, há uma diferença em quanto espaço em disco é consumido se eu a dividir em 100 arquivos .ZIP com 1 GB cada ou 10 arquivos .ZIP com 10 GB cada?

100 arquivos .ZIP com 1 GB cada ocupam mais espaço que 10 arquivos .ZIP com 10 GB cada?

Kong
fonte
E você não pode descobrir porque?
Dave
5
Por que você não pode simplesmente tentar?
Peter Mortensen
1
Cada arquivo ZIP autônomo tem alguma sobrecarga. No entanto, você pode dividir um arquivo ZIP em pedaços que podem ser remontados. Essas peças não têm a sobrecarga do ZIP em cada uma e, se você dividir nos limites do setor ou do bloco, elas não conterão espaço desperdiçado.
Fixer1234 1/11

Respostas:

18

Vamos descobrir!

Arquivos de 100 MB (27 peças):

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

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

Arquivos de 10 MB (262 peças):

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

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

Resultados: o arquivo dividido de 10 MB ocupa 24 KB extras. Portanto, sim, há uma diferença: os arquivos de 100 1 GB ocuparão mais espaço do que os 10 arquivos de 10 GB.

A diferença parece ser insignificante. Eu iria para o que for mais conveniente para você.

Layne Bernardo
fonte
4
dunão gera o tamanho em bytes por padrão (a menos que seus 270 milhões de arquivos se transformem em 2.677.908 bytes). Ele não exibir o tamanho em disco dos arquivos, que pode ser diferente do que o tamanho real de dados (talvez aplicável para carregar ou armazenar em outros sistemas de arquivos)
Xen2050
Você está correto, na verdade está saindo em KB. Editei a resposta para corrigir essa discrepância. O arquivo original é um ISO Kali Linux, é ~ 2.6GB. Você tem um bom argumento sobre o tamanho do disco e o tamanho real dos dados. Eu estava pensando especificamente no tamanho do disco, porque isso explica a sobrecarga de ter arquivos adicionais, mas você está certo de que seria diferente dependendo do que você quer ' na verdade, estamos fazendo com os arquivos.
Layne Bernardo
Desculpe, cruzei com sua resposta bastante semelhante enquanto checava duas vezes as strings de execução.
AFH 28/10
O tamanho máximo do arquivo zip é de 4 GB.
Pbies # 28/18
1
Sim, é por isso que não me incomodei em calcular um por cento. Eu não acho que funcione com uma porcentagem fixa do tamanho do arquivo original, especialmente considerando as diferenças nos sistemas de arquivos.
Layne Bernardo
15

Todo arquivo possui uma sobrecarga do sistema de arquivos do setor lógico não utilizado após o final do arquivo, mas isso é eliminado se o tamanho da divisão for múltiplo do tamanho do setor lógico (não necessariamente verdadeiro no meu exemplo abaixo).

Pode haver bytes extras usados ​​pelas entradas extras do diretório, mas elas não serão exibidas, a menos que o diretório agora ocupe um setor lógico extra.

Os arquivos divididos são idênticos em conteúdo aos criados por um programa divisor binário com o mesmo tamanho de divisão.

Eu verifiquei isso no Linux usando a versão da GUI em um arquivo de 7 + MB, fornecendo 8 arquivos divididos de 1 MB de tamanho com 7-Zip ( File.7z.00?) e, em seguida, criei um único arquivo completo ( Full.7z), com o qual eu dividi: -

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

Para testar em outro sistema operacional, pode ser necessário descarregar ou gravar um programa divisor apropriado.

AFH
fonte