Criando pacotes Debian (.deb)
S.O: Ubuntu Linux Karmic
Esse pequeno artigo tem o intuito de ensinar a criar um pacote debian,
não entro em detalhes complexos do formato.
O que é um arquivo .deb?
Um pacote debian é um arquivo compactado em um formato específico (ar http://en.wikipedia.org/wiki/Ar_%28Unix%29), bastante similar a um tar.gz ou um .zip, resumindo podemos facilmente descompactá-lo.
dentro desse arquivo você encontra outros 3 arquivos, 2 deles compactados:
* debian-binary: um arquivo gerado automaticamente com o formato do deb.
* control.tar.gz: informações do pacote, como dependência, e scripts pré e pós instalação.
* data.tar ou data.tar.gz ou data.tar.bz2 ou data.tar.lzma: os arquivos da aplicação disponibilizados em endereço absoluto, exemplo: /etc/programa/arquivos/…
Exemplo prático:
Iremos criar um pacote .deb que instala um aplicação que simplesmente irá escrever “Hello World!” no nosso console ao digitarmos o comando exemplo.sh no console.
Para nosso exemplo criaremos a seguinte estrutura de pastas:
/ : pode ser criado em qualquer lugar do seu disco, não precisa ser na raiz do sistema de arquivos.
/source/
/source/usr/
/source/usr/bin/
/source/usr/bin/exemplo.sh : arquivo contendo o código da aplicação, não esqueça de dar direitos de execução nesse arquivo (chmod +x exemplo.sh)
/source/DEBIAN/
/source/DEBIAN/control : arquivo que conterá informações (metadados) sobre o nosso pacote Debian, dependências, etc.
Conteúdo de exemplo.sh:
#!/bin/sh echo "Hello World!";
Conteúdo de control:
Package: exemplo Priority: optional Version: 0.1 Architecture: i386 Maintainer: Alan Daniel Weiss (webcentro) Depends: dash Description: Exemplo de criação de um pacote debian que irá instalar o aplicativo /usr/bin/exemplo.sh que escreve "Hello World!" no terminal.
O conteúdo do arquivo control é auto explicativo,
nele estão as informações necessárias para efetuar a instalação do seu pacote,
observe que o campo Depends irá informar as dependências desse pacote, caso possua várias dependecias essas deverão ser separadas com virgula (,).
Criar o pacote
Agora que temos a estrutura do nosso pacote completa devemos executar o comando que irá empacotar tudo isso em um archive .deb,
vá nas raiz do projeto (pasta que contém o diretório source) e digite o seguinte comando:
$ dpkg-deb -b ./source/ .
será criado um arquivo com o nome exemplo_0.1_i386.deb, se quiser você pode abrir esse arquivo com o Gerenciador de Pacotes (compactados) e verificar a estrutura que foi criada.
Instalando, Usando e Removendo a Aplicação
Para instalar seu pacote você pode usar a aplicação gráfica GDEB, ou então executar o comando a seguir:
$ sudo dpkg -i exemplo_0.1_i386.deb
Agora teste a aplicação executando o comando no console em qualquer diretório do seu sistema de arquivos o comando a seguir:
$ exemplo.sh
Para remover use o apt:
$ sudo apt-get remove exemplo
Conclusão:
Criar pacotes debian é muito simples e versátil,
Empacotar um programa torna muito fácil para o usuário final instalá-lo.
Existem outras funcionalidades, como por exemplo scripts de pré instalação e pós, que ficam para um post futuro.
Caso tenha dúvidas fique a vontade em postar comentários, tentarei disponibilizar o código do exemplo caso o wordpress permitir.
ps: Aviso que somente tenho conhecimento do funcionamento de tudo que explico aqui na distribuição Ubuntu, desconheço as características das demais.
No trackbacks yet.