Criando um metapacote Debian ou Ubuntu

Metapacote é um pacote que não possui conteúdo. Ao invés disso ele apenas declara dependências que deverão ser instaladas ou removidas. A grande vantagem de um pacote como este é que você pode simplificar a instalação de um conjunto de pacotes instalando apenas um deles. Por exemplo, ao instalar o pacote “ubuntu-desktop”, todos pacotes necessários para que você tenha um ambiente Desktop no seu Ubuntu serão instalados. Se você depois decidir que prefere o XFCE, bastaria instalar o xubuntu-desktop que automaticamente instalaria todos os pacotes necessários sem que o usuário precise se preocupar. Outra utilidade é “enganar” o sistema dizendo que uma determinada aplicação está instalada, quando na verdade ela não está.

Para criar metapacotes no Debian de forma prática nós vamos instalar o pacote “equivs” que instalará todo o necessário para este trabalho.

sudo aptitude install equivs

Vamos supor que logo após a instalação do meu sistema eu costume instalar um punhado de pacotes que eu julgo essencial para meu trabalho. Ao invés de instalá-los uma a uma via apt-get, aptitude ou synaptic basta que eu crie um metapacote com estas ferramentas como dependência e pronto.

A partir daí, todas as vezes que eu instalar o meu novo sistema eu só precisaria instalar este metapacote para que as demais ferramentas sejam instaladas e pronto.

Preparando a estrutura do pacote

Neste exemplo eu vou criar um metapacote chamado welington-desktop que instalará os pacotes htop, mc, iotop e leafpad. A primeira coisa a fazer é executar o comando equivs-control.

equivs-control welington-desktop

O arquivo de controle

Isso criará um único arquivo com o nome do metapacote. O seu conteúdo corresponde ao arquivo “control” existente em todos os pacotes Debian e que é onde estão as informações do pacote. Abra este arquivo com um editor de textos e altere os campos a seguir :

Package: welington-desktop
Version: 0.1
Mantainer: Welington Braga <meuemail@meuservidor.com>
Depends: htop, mc, iotop, leafpad
Description: Instala o HTOP, Midnight Commander, leafpad sem os quais eu não conseguiria viver.
 Metapacote para simplificar a minha vida pós instalação do Debian .

Você deve ter percebido que vários campos iniciam com “#”. Se quiser usar estes campos você deverá tirar estes caracteres e então completar o campo com o valor desejado, como eu fiz no caso do campo “Version” e do campo “Depends”. Você pode aprender mais sobre a função dos demais campos a partir do manual do APT.

Criando o pacote

Após fazer as alterações necessárias, salve o arquivo e execute o comando equivs-build:

equivs-build welington-desktop

Isso irá exibir algumas mensagens em sua tela e no final você terá um pacote chamado welington-desktop_0.1_all.deb e que poderá ser instalado em qualquer sistema da forma tradicional.

Instalando o pacote criado

Com o pacote criado você poderá usar as várias ferramentas do Debian para instalá-lo. Por exemplo:

sudo gdebi welington-desktop_0.1.deb

Lembre-se entretanto que o apt-get ou aptitude não servem para esta instalação porque este pacote não está em nenhum repositório Debian.

O restante você já deve conhecer como funciona 😉

Observações

Você pode preparar o seu metapacote para executar scripts antes ou após a instalação, pode inclusive instalar algum programa – neste caso ele não será um metapacote, mas um pacote real e muito mais. O sistema de empacotamento do Debian é absurdamente poderoso, flexível e simples. Consulte as referências e divirta-se.

Referências

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.