sexta-feira, 20 de maio de 2016

Criado pacotes executáveis auto-extraível no GNU/Linux




Assim como no Windows, no Linux você também pode criar e extrair arquivos de pacotes executáveis auto-extraível (self-extracting) usando o 7z ou rar, cuja finalidade do mesmo é poder extrair o pacote em qualquer distro Linux sem precisar ter os comandos 7z ou rar instalados no sistema.

Criando pacotes auto-extraível no Linux com 7z 

$ 7z a -sfx myfotos *.jpg 

Descompactado o pacote myfotos em qualquer distro Linux sem ter o 7z instalado.

$ ./myfotos 

$ file myfotos
myfotos: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped 

Notas: 
- O pacote auto-extraível é criado já com o atributo x automaticamente.

- Como o 7z não adiciona uma referência no nome do arquivo para você mesmo saber se o mesmo é um pacote tipo sfx, o bom é adicionar um sufixo no nome caso você guarde este pacote também como um backup, daí então você e quem receber o pacote saberá facilmente que se trata de um pacote auto-extraível (sfx).
Exemplo: 
$ 7z a -sfx myfotos-sfx *.jpg 


Criando pacotes auto-extraível no Linux com rar

$ rar a -sfx lagoas *.jpg 

O rar automaticamente adiciona a extensão .sfx ao nome do arquivo especificado, no exemplo lagoas, ficando lagoas.sfx sendo o mesmo já criado com o atributo x. 

Para descompactar em qualquer distro Linux sem ter o rar instalado. 

$ ./lagoas.sfx 


Convertendo um pacote rar  para auto-extraível no Linux

Se você já tem um pacote rar existente e quiser transforma-lo em um pacote auto-extraível (sfx) para enviar para alguém, basta converter o mesmo pelo rar.

$  rar s fotos.rar   

Foi gerando um novo pacote com o nome de fotos.sfx sendo eliminada a extensão .rar e criado com a permissão x e adicionada a extensão .sfx no pacote convertido para saber que se trata de um pacote tipo  auto-extraível.

Para descompactar o pacote:

$ ./fotos.sfx 

$ file fotos.sfx 
fotos.sfx: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[sha1]=7c8a7e2ac54fe67d1146ba8afa0815797ea0007c, stripped 


Notas gerais: 
- Você pode extrair o conteúdo do pacote tipo auto-extraível (sfx) criado pelo 7z ou rar em qualquer distro Linux sem precisar ter os comandos 7z ou rar instalados nelas. 

- O pacote auto-extraível (sfx) binário criado no Linux não é um executável compatível com o Windows, mas utilizando qualquer programa de compactação/descompactação que suporte o formato .7z e .rar cujo o mesmo também permite criar um pacote auto-extraível (sfx) como exemplo o 7-Zip e o Winrar, você poderá então abrir o pacote e extrair os arquivos desejados no Windows por qualquer um dos programas citados, não importa qual deles criou o pacote.

- Os pacotes binário auto-extraível (sfx) criados pelos comandos 7z e rar no Linux também pode ser listado e extraído o seu conteúdo na forma tradicional utilizando os comandos citados.

Pacotes tipo auto-extraível criando no Windows e abrindo no Linux 

Os pacotes criado com a opção auto-extraível (sfx) pelo 7-Zip ou Winrar no Windows no formato binário exe, podem ser abertos pelos comandos de linha de comando 7z e rar no Linux, podendo listar e extrair os arquivos contidos neles normalmente, ou usando o wine para extrair os arquivos do pacote auto-extraível, mas assim como no Windows não tem como ver os arquivos contido dentro do pacote  auto-extraível quando o mesmo é executado diretamente sem utilizar um programa como 7-Zip,  WinRar ou similar. 

No Linux o comando 7z listar e extrair pacotes auto-extraível criado pelo 7-Zip ou WinRar do Windows, mas o comando rar somente suporta o pacote rar criado pelo WinRar, que estiver no formato rar (com o sem adição do sfx), caso for salvo em outro formato diferente do padrão usado no WinRar não será aberto o pacote.


Procedimentos realizados no Salix 14.1 32 bits.

Um comentário:

  1. i used Winrar for it. This is Awesome. I going to share this with other blogger friends so that they could also participate :)...

    ResponderExcluir