De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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>
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.
Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)