As vezes as pessoas querem usar uma versão específica para um programa, uma versão mais nova, só disponível em fontes, sem pacote Debian. Mas o sistema de empacotamento pode atrapalhar esses planos. Suponha que você quer compilar uma nova versão do seu servidor de email. Tudo vai bem, mas inúmeros pacotes no Debian dependem de um MTA (Mail Transport Agent) instalado. Como você instalou algo que você mesmo compilou, o sistema de pacotes não sabe da presença dele.
É aí que entra o equivs. Para usá-lo instale o pacote de mesmo
nome. O equivs cria um pacote vazio que preenche dependências, fazendo com que
o sistema de pacotes acredite que as dependências estão satisfeitas.
Antes de continuarmos, é bom lembrar que há maneiras mais seguras de se compilar um programa que já está debianizado com opções alteradas, e que não se deve usar o equivs para substituir dependências se você não souber realmente o que está fazendo. Veja a seção Lidando com pacotes fonte, Capítulo 6 para saber mais.
Vamos continuar com o exemplo do MTA, você acaba de instalar seu novo
postfix compilado e parte para a instalação do mutt.
Qual não é sua surpresa quando descobre que o mutt quer instalar
um outro MTA, mas você já tem o seu.
Vá para um diretório qualquer (/tmp, por exemplo) e execute:
# equivs-control nome
Substitua nome pelo nome do arquivo de controle que você quer criar. O arquivo vai ser criado da seguinte forma:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: <enter package name; defaults to equivs-dummy>
Version: <enter version here; defaults to 1.0>
Maintainer: <your name and email address; defaults to username>
Pre-Depends: <packages>
Depends: <packages>
Recommends: <packages>
Suggests: <package>
Provides: <(virtual)package>
Architecture: all
Copyright: <copyright file; defaults to GPL2>
Changelog: <changelog file; defaults to a generic changelog>
Readme: <README.Debian file; defaults to a generic one>
Extra-Files: <additional files for the doc directory, commaseperated>
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
Basta alterar isso agora para que o que queremos seja feito. Observe bem o formato dos campos e as descrições deles, não há necessidade aqui de discorrer sobre cada um desses, vamos ao que é necessário:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: mta-local
Provides: mail-transport-agent
Sim, é só isso. O mutt depende de
mail-transport-agent, que é um pacote virtual fornecido por todos
os MTAs, eu poderia simplesmente chamar o pacote de
mail-transport-agent, também, mas preferi usar o esquema do pacote
virtual,usando o Provides.
Agora basta construir o pacote:
# equivs-build nome
dh_testdir
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
# Add here commands to install the package into debian/tmp.
touch install-stamp
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package `nome' in `../nome_1.0_all.deb'.
The package has been created.
Attention, the package has been created in the current directory,
E instalar o .deb resultante.
Como se pode ver, há inúmeras utilidades para o equivs. Inclusive
criar um pacote meus-preferidos, que dependa dos programas que
você sempre instala, por exemplo. É soltar a imaginação, mas com cuidado.
É importante notar que há exemplos de arquivos de controle em
/usr/share/doc/equivs/examples. Confira.
Muitos usuários de Debian usam apenas um locale. Um usuário de Debian brasileiro, por exemplo, normalmente usa o locale pt_BR o tempo todo e não se importa com o es.
O localepurge é uma ferramenta muito útil para esses usuários.
Você pode liberar muito espaço tendo apenas os locales que você realmente usa.
Basta usar apt-get install localepurge.
É muito fácil configurá-lo, perguntas feitas com o debconf guiam o usuário em uma configuração passo-a-passo. Seja cuidadoso ao responder a primeira questão; respostas erradas podem remover todos os arquivos de locale, mesmo aqueles que você usa. A única maneira de recuperá-los será reinstalar todos os pacotes que os fornecem.
O apt-show-versions é um programa que mostra quais pacotes do seu
sistema podem ser atualizados e várias outras informações úteis. Para saber
quais pacotes podem ser atualizados faça:
$ apt-show-versions -u
libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
Como usar o APT
1.8.10 - Novembro de 2004kov@debian.org