Criando um arquivo .tar auto-instalável
Dica publicada em Shell Script / Avançado
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).
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.
Vamos criar o arquivo meu_pacote.sh com o seguinte conteúdo:
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
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.
É dessas almas que a comunidade Linux no Brasil precisa...