Compactar e dividir arquivos no gerenciador de arquivos

25

Se você clicar com o botão direito do mouse em um arquivo no Nautilus e selecionar Compactar, será exibida uma caixa de diálogo na qual poderá escolher um formato de compactação e um nome de arquivo. Se você clicar em Avançado, há configurações para dividir e compactar o arquivo, mas está desativado / não faz distinção. Como é que posso ativar esses recursos?

Edit: Em uma resposta abaixo, foi sugerido que isso tenha algo a ver com rar. Mas eu tenho isso instalado e não tenho as opções para dividir.

Jo-Erlend Schinstad
fonte
Onde está 'compactar' eles removeram esse recurso?
Não. Logo acima de Propriedades.
Jo-Erlend Schinstad

Respostas:

18

Apenas algumas ferramentas de arquivamento oferecem suporte à divisão. Um deles é o pacote RAR rar(mas é shareware e você precisa comprá-lo após 40 dias - o Shareware nos repositórios Ubuntu? (RAR) ) e outro é, por exemplo, o pacote 7zip p7zip-full. Você precisa instalar um deles (sugiro 7zip porque é totalmente gratuito).

Você também pode criar um arquivo sigle e depois dividi-lo em partes usando o splitcomando (ou HJSplit for GUI).

Vojtech Trefny
fonte
2
quando instalei o p7zip, poderia dividir o arquivo se escolher 7z. Se eu instalar o p7zip-full, também posso protegê-lo com senha. Então, a esse respeito, minha pergunta está meio que resolvida. Mas ainda não consigo selecionar rar.
Jo-Erlend Schinstad
E você tem o pacote rarinstalado? Pacotes unrare unrar-freesão apenas para suporte à descompactação RAR.
Vojtech Trefny
Quanto a vários ziparquivos, o 7-Zip no Wine / Playonlinux parece a maneira mais fácil (como eu falhei ao tentar o zipcomando para o objetivo especificado, conforme indicado aqui ; esse comando, se bem-sucedido, poderia ser adicionado ao menu de contexto do gerenciador de arquivos) . Criar um zip grande e depois usá-lo hjsplitpara dividir isso, como indicado acima, é um caminho a percorrer (os arquivos zip resultantes podem ser extraídos diretamente como o arquivo não-arquivado original), mas dividir um arquivo parece um procedimento muito mais lento que o multi-arquivo direto arquivamento.
Examinando ziparquivos nesse contexto, parece que o zipcomando pode ser usado para criar arquivos zip de vários volumes, apenas que os resultados não são muito úteis, pois o arquivo zip com vários arquivos não pode ser extraído diretamente, mas precisa ser composto como um arquivo através de um segundo comando antes da extração: mais aqui e aqui . splitÉ preferível criar um arquivo e depois dividi-lo .
8

Para ativar a opção de divisão, selecione .rar na caixa suspensa de extensão de arquivo.

insira a descrição da imagem aqui

aneeshep
fonte
4
Não consigo selecionar rar, mesmo tendo o unrar instalado.
Jo-Erlend Schinstad
2
@ Jo-ErlendSchinstad, você deve instalar o rar primeiro: apt-get install rar. Espero que este comentário final possa ajudar outras pessoas.
Fernando Kosh
A seleção 7ztambém funcionou para mim.
1

Tente substituir o rar por irrar-free ou o contrário.

Isso pode ser feito simplesmente

sudo apt-get install rar unrar-free
PvdL
fonte
Isso não permite que você crie arquivos rar ... apenas os extraia.
Cerin
Como dito em um comentário de Fernando Kosh, rartambém é necessário; sudo apt-get install rar. A seleção 7ztambém funcionou para mim.
1

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,

  1. compactar os arquivos selecionados como um único ziparquivo,
  2. divida o arquivo zip em partes do tamanho máximo especificado e
  3. 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.


fonte
-1

Usar p7zip-full, como sugeriu Vojtech Trefny, funciona, mas não me permitiu escolher rar como método de compactação. Nem o unrar. No entanto, a instalação do pacote "rar" apresenta essa opção e, se você abrir Avançado, todas as opções serão sensíveis.

Jo-Erlend Schinstad
fonte