ShSFX �um shell script que facilita a cria�o de arquivos self-extracting para sistemas Unix usando bash e tar
Hoje funciona assim: voc�deseja distribuir um programa ou script, ou qualquer outra coisa que fez, mas, para facilitar a vida de quem for fazer o download, compacta o diret�io inteiro de seu programa em um arquivo tar.gz. Ao baixar seu programa o usu�io vai ter que:
tar -xzvf seuprograma.tar.gzcd seuprogramaless INSTALL./installcd ..rm -rf seuprogramaPode parecer simples se voc�tem experi�cia com shell, mas isso �bastante complicado para muitas pessoas. Voc�pode simplificar as coisas gerando um instalador para o seu sistema, de modo que os usu�ios v� baixar, por exemplo, um arquivo de nome seuprograma.sh, e v� execut�lo:
chmod +x seuprograma.sh - muitas pessoas v� preferir fazer isso via interface gr�ica. No KDE, por exemplo, bot� direito, propriedades, permiss�s, marcar "�Execut�el"../seuprograma.shBem mais simples, n� �verdade?
Voc�pode baixar um auto-instalador que eu fiz usando o pr�rio ShSFX, ou baixar todo o c�igo-fonte do programa no diret�io de downloads.
O auto-instalador pergunta onde voc�quer instalar o script. O padr� �o diret�io /usr/local/bin que �onde ficam aqui em minha m�uina os meus scripts. Obviamente, para instalar algo nesse diret�io voc�precisa de permiss�s de superusu�io. No Kurumin: sudo ./installshsfx.sh. Em outras distros su, senha do superusu�io e depois ./installshsfx.sh.
Vamos construir um exemplo usando o fabuloso IEs 4 Linux do Sergio Lopes. Para instalar o IEs 4 Linux hoje voc�faz o download de um arquivo (enquanto escrevo a vers� atual se chama ies4linux-20050916.tar.gz) e seguir os passos:
tar -xzvf ies4linux-20050916.tar.gzcd ies4linux./ies4linuxcd .. seguido de rm -rf ies4linuxFazemos ent� o download do arquivo do Sergio e criamos um script que execute os passos necess�ios para a instala�o. Nesse script n� inclu�os o comando para descompactar, o ShSFX vai cuidar disso para n�. Chamaremos esse script de ies4linux-20050916-code.sh:
#Entra no diret�io
cd ies4linux
#Executa a instala�o
./ies4linux
#Volta
cd ..
#Remove o diret�io do instalador
rm -rf ies4linux
Feito isso, executamos:
shsfx -xzf ies4linux-20050916.tar.gz ies4linux-20050916-code.sh ies4linux-20050916.sh
Isto vai gerar um arquivo de nome ies4linux-20050916.sh que, quando executado, vai descompactar-se (usando as op�es -xzf do tar), executar a instala�o e remover o lixo.
N� precisa nem perguntar! Voc�pode melhorar o script e me mandar as altera�es, pode escrever uma mensagem de ajuda mais informativa para o script, e pode ajudar tamb� traduzindo esta p�ina para o ingl� ou outra l�gua que julgar til.
Desenvolvido por Elcio Ferreira baseado na dica de Marcelo Criscuolo no Dicas-L