De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Gerando arquivos auto-instaláveis - o makeself
Colaboração: Bruno Buys
Data de Publicação: 21 de Setembro de 2006
Arquivos auto-instaláveis são capazes de instalar programas no sistema-alvo,
rodar scripts e restaurar backups de diretórios. Os drivers binários nVidia
e o instalador GNU/Linux do GoogleEarth, por exemplo, são distribuídos em
arquivos auto-instaláveis.
O programa usado para ambos os exemplos acima é o makeself, um script que gera
um backup tar gzipado de um diretório, junto com as informações necessárias
para descompactá-lo. Tudo em um único arquivo.
No Debian sarge ou etch o makeself está disponível no ramo principal (main).
Usando o makeself:
Em meu diretório temp eu tenho
bruno@frank:~/Documentos$ ls -lh temp
total 1,1M
-rw-r--r-- 1 bruno bruno 448K 2006-04-04 23:22 bookmarks.html
-rw-r--r-- 1 bruno bruno 655K 2006-08-25 22:12 curriculo.txt
O comando para criar um backup com o makeself:
makeself (OPCOES) diretorio-a-ser-backupeado \
nome-a-ser-dado-ao-backup titulo (comandos)
Exemplo:
bruno@frank:~/Documentos$ makeself --notemp temp temp.run Backup_makeself
Header is 363 lines long
About to compress 1105 KB of data...
Adding files to archive named "temp.run"...
bookmarks.html
curriculo.txt
CRC: 2148949461
MD5: 2f8930fe5f3b1e508460211e903e512e
Self-extractible archive "make.run" successfully created.
bruno@frank:~/Documentos$ ls -lh temp.run
-rwxr-xr-x 1 bruno bruno 307K 2006-09-19 02:34 temp.run
Aqui eu escolhi temp.run
como nome. Qualquer coisa alusiva serve, pra
ajudar a lembrar depois, como temp.sh
ou algo do gênero.
A opção --notemp
permite que seja criado somente um backup simples. Sem ela,
teríamos que adicionar um comando ao fim da linha de comando. Essa facilidade
faz mais sentido para quem quer gerar um instalador que precisa executar
funções diversas. O comando a ser adicionado pode ser um script encarregado
das funções pós-cópia.
Para restaurar o backup feito com o makeself:
bruno@frank:~/Documentos$ ./temp.run
Creating directory temp
Verifying archive integrity... All good.
Uncompressing Backup_makeself..
E o diretório temp está restaurado.