Considerando o caso específico de arquivos ZIP com vários segmentos ,
esta é uma resposta complementar à principal .
Como já mencionado na resposta principal, apenas algumas ferramentas de arquivamento suportam divisão, e a GUI principal não parece capaz de criar arquivos com vários segmentos no zipformato. Formatos alternativos podem ser usados, a saber rare 7z.
Além disso, apenas algumas ferramentas podem ser extraídas de arquivos zip com vários segmentos, como os discutidos aqui: sobre isso, consulte a nota final desta resposta.
Como a pergunta aborda especificamente a questão de lidar com o arquivamento no menu de contexto do gerenciador de arquivos , examinei alguns comandos que poderiam atingir o objetivo especificado, mesmo para ziparquivos: esses comandos, se bem-sucedidos, poderiam ser facilmente adicionados ao gerenciador de arquivos como entradas do menu de contexto.
Considerando a zipferramenta, os arquivos multissegmentos podem ser criados diretamente com um comando como zip my_archive.zip -r <file> -s 20971519(mais detalhes nesta pergunta ), mas não são de todo úteis porque não estão prontos para serem extraídos (é necessário um zip -s 0comando suplementar para criar uma grande arquivo extraível - como descrito aqui ) e essa limitação não pode ser evitada. Enviar um arquivo com vários segmentos para alguém que não sabe disso não faz sentido.
Como já sugerido na resposta principal, outra maneira é compactar o arquivo e depois dividir o archive de um arquivo comsplit (ou a hjsplitGUI). (Testei a GUI e achei extremamente lenta, enquanto para o menu de contexto a GUI não é necessária.)
A idéia é adicionar ao menu de contexto do gerenciador de arquivos uma entrada que, com apenas um clique,
- compactar os arquivos selecionados como um único
ziparquivo,
- divida o arquivo zip em partes do tamanho máximo especificado e
- remova-o para manter apenas o arquivo com vários arquivos.
Portanto, testei com Thunar e uma ação personalizada com esses três comandos conectados por &&:
zip -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
(Isso deve ser aplicado a um ou mais arquivos selecionados, mas não a diretórios; para aplicar a diretórios, a zip -ropção é necessária:
zip -r -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
)
-jsignifica uma opção para zip"separar o caminho": diferente de um comando do terminal que contém o caminho completo do (s) arquivo (s) a ser arquivado (s), um comando de menu de contexto que usa %Fpara arquivos selecionados adicionaria ao arquivo uma pasta dentro estrutura de pastas, a menos que -jseja usada; (fonte: crie zip - ignore a estrutura de diretórios );
my_archive.zipé o nome personalizado do arquivo ainda não dividido; o splitcomando será aplicado a ele e, em seguida, o primeiro será removido comrm
%Fpode ser usado em uma ação personalizada Thunar para compactar vários arquivos como zip; alternativamente, %fdeve ser usado para a seleção de apenas um arquivo;
-b 20mrepresenta o tamanho das partes separadas do arquivo criadas por splitconforme indicado aqui ;
split.zipé uma especificação que não é necessária; é o nome personalizado do arquivo final com vários arquivos, daria algo como split.zipaa, split.zipab, split.zipac..., e sem ele a saída será nomeada xseguida pelos aasufixos de fragmento:, xaa, xab, xac...etc; existe uma splitopção -dpara usar sufixos numéricos em vez de alfabéticos, mas isso gera um erro (porque aparentemente o extrator espera um arquivo ZIP multissegmento padrão quando vê um sufixo numérico - como sugerido em um bate-papo particular de Stephen Kitt ;
rmaplicado ao my_archive.ziparquivo nos deixará apenas com o arquivo de vários segmentos desejado.
Nota:
Para que o multi-zip-archive resultante seja extraído, é necessária uma ferramenta que suporte os aaarquivos segmentetd , como file-rollerno Linux e 7-Zip no Windows.