Logotipo Dicas-L, por Ricardo Burile

Busca

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

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

 

PHP CONFERENCE

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

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato 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 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

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

Opinião dos Leitores

Aldefax G. Kuhn
31 Jan 2007, 10:57
Muito bom, isso é excelente para instalar aqueles pacotes que sempre instalamos a cada instalação, tipo multimídia.

No caso de querer compilar a partir dos fontes eu recomendo o apt-build, ele faz isso com elegância e mantém a integridade com o sistema de pacotes do Debian GNU/Linux.
*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

Aprenda Inglês em Casa
Metodo inovador e criativo, para quem tem pouco tempo. Veja os depoimentos de nossos alunos.
Saiba mais

Biblioteca

Desenvolvendo Websites com PHP
Por Juliano Niederauer

O Monge e o Executivo: uma História sobre a Essência da Liderança
Por James C. Hunter

Extreme Programming
Por Vinicius Manhaes Teles

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson

O Vendedor de Sonhos
Por Augusto Cury

Segurança de Redes em Ambientes Cooperativos
Por Emilio Tissato Nakamura e Paulo Licio de Geus

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Utilizando UML e Padrões
Por CRAIG LARMAN

Sistema de Banco de Dados
Por Abraham Silberschatz

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

Redes de Computadores e a Internet
Por James F. Kurose e Keith W. Ross

O Segredo
Por Rhonda Byrne

Os Segredos da Mente Milionária
Por T. Harv Eker

Construindo Sites com CSS e (X)HTML
Por Mauricio Samy Silva

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

Expressões Regulares: Uma Abordagem Divertida
Por Aurélio Marinho Jargas

Qualidade de Software
Por Andre Koscianski Michel dos Santos Soares

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson