DebConf - Perguntas ao usuário na instalação de pacote .deb
Você criou um pacote .deb e está precisando fazer perguntas ao usuário para configuração do aplicativo que será instalado? Apresento-lhe o DebConf.
Parte 2: Criando a estrutura básica de um pacote
Assim como tudo na informática, para criarmos um pacote .deb temos que ter alguns passos obrigatórios.
I) O primeiro deles, devemos criar uma pasta que abrigará todos os arquivos para a construção do pacote:
mkdir pasta_deb
II) O segundo passo consiste na criação de uma pasta chamada DEBIAN, ela conterá todos os arquivos de configuração do pacote. Não confundir com os arquivos do seu software que irá dentro do pacote:
cd pasta_deb
$ mkdir DEBIAN
III) Dentro da pasta DEBIAN, criaremos um arquivo chamado "config", ele é obrigatório para quem deseja criar um pacote, mesmo que seja sem utilizar o DebConf:
gedit control
Algumas considerações a respeito do arquivo "config":
IV) Agora, devemos copiar o sofware que queremos que o sistema operacional instale. Esse passo é bem simples, caso você queira que o software fique acessível em /usr/share dentro do HD, deve-se criar esta estrutura de pastas dentro daquela pasta "pasta_deb" e então, copiar todo o sofware para lá:
cd ..
$ mkdir usr
$ mkdir usr/share/
$ cp /home/paulo/espaco_disco_labs pasta_deb/usr/share
V) Para quem quer seguir com a utilização do DebConf, pule esta parte, ela é destinada apenas para quem quer criar um pacote básico.
Caso você deseja mudar a permissão de algo, em virtude da instalação do seu pacote, pode-se executar comandos através do arquivo "postinst".
Este arquivo deve ficar dentro da pasta "DEBIAN":
Por fim, crie o pacote Deb:
dpkg-deb -b pasta_deb meu_primeiro_deb.deb
* Detalhe importante: Percebe-se aí o risco de instalar pacotes .deb sem confiar na fonte de origem. Isso é um RISCO, esses comandos são executados como root!
I) O primeiro deles, devemos criar uma pasta que abrigará todos os arquivos para a construção do pacote:
mkdir pasta_deb
II) O segundo passo consiste na criação de uma pasta chamada DEBIAN, ela conterá todos os arquivos de configuração do pacote. Não confundir com os arquivos do seu software que irá dentro do pacote:
cd pasta_deb
$ mkdir DEBIAN
III) Dentro da pasta DEBIAN, criaremos um arquivo chamado "config", ele é obrigatório para quem deseja criar um pacote, mesmo que seja sem utilizar o DebConf:
gedit control
Package: espaco-disco-labs
Version: 0.1
Architecture: all
Maintainer: Paulo Oliveira <usuario@dominio>
Installed-Size: 300
Depends: debconf-2.0, python-qt4
Description: Software - Espaço em Disco Labs
# Software para executar a manutenção quando um usuário possui um cota estabelecida.
Version: 0.1
Architecture: all
Maintainer: Paulo Oliveira <usuario@dominio>
Installed-Size: 300
Depends: debconf-2.0, python-qt4
Description: Software - Espaço em Disco Labs
# Software para executar a manutenção quando um usuário possui um cota estabelecida.
Algumas considerações a respeito do arquivo "config":
- Altere os valores do campos para o seu software qualquer;
- No Ubuntu, tive que colocar o campo "Installed-Size" para evitar mensagem de erro;
- Caso o seu software tenha dependências, é importante informar no campo "Depends", que o APT fará o trabalho de baixá-las.
IV) Agora, devemos copiar o sofware que queremos que o sistema operacional instale. Esse passo é bem simples, caso você queira que o software fique acessível em /usr/share dentro do HD, deve-se criar esta estrutura de pastas dentro daquela pasta "pasta_deb" e então, copiar todo o sofware para lá:
cd ..
$ mkdir usr
$ mkdir usr/share/
$ cp /home/paulo/espaco_disco_labs pasta_deb/usr/share
V) Para quem quer seguir com a utilização do DebConf, pule esta parte, ela é destinada apenas para quem quer criar um pacote básico.
Caso você deseja mudar a permissão de algo, em virtude da instalação do seu pacote, pode-se executar comandos através do arquivo "postinst".
Este arquivo deve ficar dentro da pasta "DEBIAN":
#!/bin/sh -e
chmod -R 755 /usr/share/espaco_disco_labs/
chmod -R 755 /usr/share/espaco_disco_labs/
Por fim, crie o pacote Deb:
dpkg-deb -b pasta_deb meu_primeiro_deb.deb
* Detalhe importante: Percebe-se aí o risco de instalar pacotes .deb sem confiar na fonte de origem. Isso é um RISCO, esses comandos são executados como root!