criando um script instalador de extração automática

Primeiro, tar e compactar o (s) arquivo (s):

tar -cvf archive.tar app_name/ ; gzip -9 archive.tar

Em seguida, crie o script do instalador (aqui está um básico):

#!/bin/bash
function die () { echo "Error!"; exit 1 }
cd
~/ || die

echo
"Installing AppName to ~/app_name..."

O script terá que encontrar o arquivo embutido. Assim, encontraremos o número da linha com nosso marcador “ARQUIVO:”:

archive=$(grep --text --line-number 'ARCHIVE:$' $0)

Em seguida, o script pode seguir o arquivo (começando após ARCHIVE 🙂 e canalizar a saída binária final para gzip e, em seguida, tar. Nenhum arquivo temporário é criado.

tail -n +$((archive + 1)) $0 | gzip -vdc - | tar -xvf - > /dev/null || die

Temos algumas configurações de pós-instalação em nosso aplicativo de amostra:

./app_name/bin/post_install_configuration.sh || die

echo
"Installation complete!"
exit 0

Não se esqueça de escrever o marcador de arquivo no final do script

ARCHIVE:

Salve o arquivo como “installer.sh”

Agora podemos adicionar o arquivo ao instalador:

cat archive.tar.gz >> installer.sh

Torne-o executável:

chmod +x ./installer.sh

Tudo feito!