Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Criando Pacotes Task para APT

Colaboração: André Pereira

Data de Publicação: 27 de Janeiro de 2007

Quem já usou a distro Conectiva Linux conhece bem os pacotes "task". Para quem não os conhece aqui vai uma breve explicação: pacotes "task" são pacotes vazios, que não possuem nenhum tipo de software. Possuem apenas uma série de dependências.

Mas qual a finalidade disso? Simples!

Estes pacotes existem para realizar tarefas. Por exemplo, um pacote chamado task-lamp poderia ser responsável por instalar todos os pacotes referentes a um servidor LAMP (Linux, Apache, Mysql e PHP) e suas respectivas dependências.

Neste artigo demonstrarei uma forma fácil de criar um pacote task.


Os comandos abaixo foram testados no Ubuntu Edgy.

O software que iremos utilizar para este fim é o equivs, portanto:

  $ sudo apt-get install equivs

Uma vez instalado o equivs devemos criar um arquivo de controle padrão, o qual será utilizado para gerar o pacote, e então editá-lo conforme as nossas necessidades:

  $ equivs-control task-myprofile

onde "task-myprofile" é o nome do arquivo de controle a ser criado e futuramente será o nome do pacote.

Você também pode usar o arquivo modelo abaixo ou mesmo exemplos que acompanham a instalação do equivs (/usr/share/doc/examples/).

  ### Criado em:  20/01/2007
  ### André Pereira <andre@capengenharia.com.br>
  Section: misc
  Priority: optional
  Standards-Version: 3.6.2
  
  Package: andresp-default
  Version: 0.1
  Maintainer: André Pereira <andre@capengenharia.com.br>
  Depends: acroread,broffice.org,firefox,gwenview,k3b,kget,
           knotes,kpdf,ksnapshot,ktorrent,mozilla-mplayer,
  	 mozilla-plugin-vlc,mplayer,xmms
  Description: Pacote Task com os meus softwares desktop mais usados.

Uma vez criado e editado o arquivo de controle, é hora de construir o pacote, para isso usa-se o comando equivs-build

  $ equivs-build  task-myprofile

Isto irá gerar o arquivo .deb que depende dos seus pacotes favoritos.

Pronto! Agora o seu pacote .deb que possui apenas as dependências que você quer instalar está pronto, porém, não é possível instalar este pacote diretamente via dpkg (dpkg -i task-myprofile_...-.deb), a instalação não será efetuada devido aos "problemas" de dependência (lembre-se, o dpkg não resolve dependências automaticamente, quem o faz é o APT).

Para instalar o pacote recém criado via APT, é necessario configurar um repositorio local de pacotes .deb:

Crie um diretorio para o seu repositorio:

  $ sudo bash (vamos trabalhar como root)
  # mkdir /home/apt-local

Copie o arquivo .deb para este diretorio:

  # cp /<caminho>/<nomedopacote>.deb /home/apt-local

Detro do diretorio /home crie o arquivo Packages.gz do repositorio:

  # cd /home
  # dpkg-scanpackages apt-local/ /dev/null | gzip > apt-local/Packages.gz

Adicione o novo repositorio no sources.list

  # echo "deb file:/home apt-local/" >> /etc/apt/sources.list

Atualize a base apt

  # apt-get update

E finalmente instale o pacote

  # apt-get install <nomedopacote>

Observação:

A criação de pacotes vazios tem outras finalidades além da descrita neste artigo.

Imagine o seguinte cenário: você está montando um servidor e decide compilar o Apache manualmente por questões pessoais de configuração, ao invés de instalá-lo via APT. Até ai tudo bem. Porém, se você tentar instalar via APT algum pacote que dependa do Apache, o APT tentará instalar novamente o Apache, uma vez que ele "não sabe" da existência do Apache compilado.

Uma forma elegante de resolver este problema é criar e instalar um pacote vazio referente ao Apache que foi instalado manualmente, desta forma a base APT saberá que o Apache já está instalado e não tentará instalá-lo novamente, preservando a sua compilação / instalação. Para isso use a opção "Provides" no arquivo de controle do equivs. Mas ATENÇÃO: não é nem um pouco recomendada a utilização deste recurso para resolver dependências quebradas. Instalar pacotes sem suas respectivas depências podem provocar erros imprevisíveis no sistema.

Veja a relação completa dos artigos de André Pereira

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1374 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis