Criando um arquivo .tar auto-instalável

Publicado por Charles Jonh Camello em 28/11/2005

[ Hits: 14.189 ]

 


Criando um arquivo .tar auto-instalável



É muito comum ter que mandar alguns arquivos para clientes atualizarem em suas máquinas, mas quase sempre temos de mandar um manual de como proceder a instalação. Esta dica mostra como podemos fazer um arquivo .tar, auto instalável (baseado na dica de PiterPunk).

O primeiro passo


Temos de determinar quais os arquivos vamos enviar para nosso cliente, neste exemplo vamos usar: /usr/bin/backup.sh, /usr/bin/atualizacao_antivirus.sh.

OBS: Esses arquivos são hipotéticos.

O segundo passo


Vamos criar o arquivo meu_pacote.sh com o seguinte conteúdo:

nline=4
tail +$nline | tar zxvf -C /
exit

Explicando


Na primeira linha é declarada a variável que conterá a linha na qual começa o arquivo tar que será concatenado neste arquivo.

Na segunda linha temos o comando mágico, estes comandos enviam o conteúdo do arquivo tar que foi concatenado para o tar e efetua a descompactação, no diretório raiz, informado pelo parâmetro "-C /".

Terceira linha é dado um escape para que não execute as próximas.

O terceiro passo


Vamos criar agora o arquivo .tar, para isso execute:

$ tar zcvf arquivo.tar.gz /usr/bin/backup.sh /usr/bin/atualizacao_antivirus.sh

Por último concatene o arquivo .tar para o arquivo meu_pacote.sh e de permissão de execução para o mesmo:

$ cat arquivo.tar.gz >> meu_pacote.sh
$ chmod +x meu_pacote.sh

Agora basta enviar o arquivo para o seu cliente informando que o execute, assim os arquivos serão descompactados para os diretórios originais.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Corrigindo bug do imsniff 0.04 com um simples script (gambiarra)

Jogo da Forca em Shell Script

Substituindo o sleep por um belo cronômetro regressivo

Screenshot usando o terminal

Usando o script alertaTwitter

  

Comentários
[1] Comentário enviado por sfohart em 29/11/2005 - 12:24h

Cara, você salvou a minha vida! chega de ficar fazendo programas em c++ e distribuir pros colegas com um README dentro...

É dessas almas que a comunidade Linux no Brasil precisa...

[2] Comentário enviado por FelipeAbella em 11/08/2006 - 15:19h

Genial, parabéns.

[3] Comentário enviado por l33ch3r em 06/10/2006 - 11:13h

SHOW DE BOLA

MUITO BOM .. MESMO

[4] Comentário enviado por FelipeAbella em 13/08/2007 - 15:33h

Só uma dúvida, se você não especificou o arquivo para o tail,
ele nao deveria ler de stdin ao invés do arquivo .sh?

A váriavel $0 no bash indica o nome do arquivo, não deveria ser passada como argumento?

t+



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts