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 zip
formato. Formatos alternativos podem ser usados, a saber rar
e 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 zip
arquivos: esses comandos, se bem-sucedidos, poderiam ser facilmente adicionados ao gerenciador de arquivos como entradas do menu de contexto.
Considerando a zip
ferramenta, 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 0
comando 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 hjsplit
GUI). (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
zip
arquivo,
- 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 -r
opção é necessária:
zip -r -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
)
-j
significa 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 %F
para arquivos selecionados adicionaria ao arquivo uma pasta dentro estrutura de pastas, a menos que -j
seja usada; (fonte: crie zip - ignore a estrutura de diretórios );
my_archive.zip
é o nome personalizado do arquivo ainda não dividido; o split
comando será aplicado a ele e, em seguida, o primeiro será removido comrm
%F
pode ser usado em uma ação personalizada Thunar para compactar vários arquivos como zip
; alternativamente, %f
deve ser usado para a seleção de apenas um arquivo;
-b 20m
representa o tamanho das partes separadas do arquivo criadas por split
conforme 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 x
seguida pelos aa
sufixos de fragmento:, xaa, xab, xac...
etc; existe uma split
opção -d
para 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 ;
rm
aplicado ao my_archive.zip
arquivo 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 aa
arquivos segmentetd , como file-roller
no Linux e 7-Zip no Windows.