Criando um arquivo .tar auto-instalável

Publicado por Charles Jonh Camello em 28/11/2005

[ Hits: 14.332 ]

 


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

Como escrever em arquivos protegidos usando o sudo e redirecionamento

Comentários em blocos em Shell Script

Como contornar o erro -bash: 08: value too great for base (error token is "08")

Compilação Kernel 4.0.3 no Slackware

DEBwizard - Script para a criação de pacotes Deb

  

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