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.

  1. Nenhum trackbacks ainda.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.