Como compactar um arquivo grande para muitos arquivos zip menores com tamanho definido?

0

Eu tenho um arquivo muito grande, por exemplo 100GB, e eu quero compactá-lo para muitos arquivos zip menores, com cada arquivo não pode ser maior que 1GB, quais seriam os comandos mais adequados para fazê-lo?

observação: eu quero otimizar o menor número de arquivos criados

Atualizar : Eu quero que cada arquivo possa ser descompactado independentemente

Yoga
fonte
experimentar 7-zip.org Ele fornece melhor compactação normalmente, mas leva muito tempo e eu uso sua GUI (linux) para dividir arquivos em tamanhos menores.

Respostas:

1

Basta fazer um grande arquivo zip e depois usar o linux split comando para dividir em pedaços menores. cat pode ser usado, então, para reuni-los em um arquivo grande.

Se você quisesse dividir um arquivo em partes de 1 GB, o comando split seria algo como:

$ split -b 1073741824 myfile.zip myfile-split-

Para montar novamente:

$ cat myfile-split-* > myfile.zip

Sua taxa de compactação diminuiria drasticamente se você realmente fosse para vários arquivos zip.

Eu recomendaria muito que você pegasse um md5sum do arquivo antes da divisão e, em seguida, certificando-se de que o md5 correspondesse após a remontagem.

EEAA
fonte
Obrigado, atualizei minha pergunta, quero que cada arquivo possa ser descompactado independentemente
Yoga
Você percebe que vai mate sua taxa de compressão, certo?
EEAA
Sim, mas o limite de tamanho de 1 GB é um limite difícil que precisamos seguir
Yoga
Por que você precisa de cada arquivo para poder ser descomprimido de forma independente? Isso parece um requisito estranho.
EEAA
Porque este é o nosso fluxo de trabalho, um programa lido a partir de um arquivo compactado e fazer o trabalho, o limite de arquivo é de 1GB comprimido
Yoga