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: Conrado Pinto Rebessi
Data de Publicação: 14 de Março de 2006
Como sabemos, a versão stable
do Debian (atual sarge), é a que deve ser usada
em um servidor, e é a que deve ser considerada fortemente para um desktop.
Apesar disto, muitas vezes precisamos, ou simplesmente queremos, versões mais novas dos programas, que não estão disponíveis na versão stable.
Para isto, temos o repositório de backports
, que contém programas disponíveis
apenas para testing ou sid, compilados para stable.
Para usar o backports, normalmente fazemos:
Adicionamos ao /etc/apt/sources.list a linha:
deb http://www.backports.org/debian/ sarge-backports main
e fazemos:
apt-get update apt-get install programa
Tudo funciona perfeitamente, e ficamos muito felizes por estar usando o programa que queríamos.
Depois de algum tempo, começamos a perceber que alguns programas não conseguem ser instalados, algumas dependências não-resolvidas começam a aparecer e etc...
O que aconteceu?
Como não fizemos especificação nenhuma e como o backports contém versões mais
atuais dos programas, cada vez q fizermos um apt-get upgrade
as versões
do backports acabam sendo instaladas, quebrando a consistência do sistema.
Como resolver isso?
Para este tipo de problemas existe o arquivo pouco conhecido
/etc/apt/preferences
. Primeiro, colocamos neste arquivo uma regra para
que o apt ignore o repositório backports, da seguinte forma:
Package: * Pin: release a=sarge-backports Pin-Priority: 200
Pronto, agora o seu sistema não vai instalar programas da release sarge-backports.
Aí vem a pergunta: Se eu não vou poder instalar nenhum programa, não seria mais fácil simplesmente retirar a linha do sources.list?
Na verdade, podemos instalar pacotes da backports, mas precisaremos dizer isso explicitamente. Para isto, existem 2 modos:
1) Incluir no /etc/apt/preferences quais pacotes queremos que sejam buscados da backports.
Por exemplo, digamos que queremos instalar o pacote mutt da backports. Incluímos então as seguintes linhas ao /etc/apt/preferences:
Package: mutt Pin: release a=sarge-backports Pin-Priority: 999
E depois, simplesmente executamos:
apt-get install mutt
Este processo é chamado de "pinar" (do inglês, to pin) um pacote.
O interessante é que a partir deste ponto, toda vez que instalarmos ou atualizarmos o pacote "pinado", este virá da backports, transparentemente.
O problema é que, se o pacote "pinado" tiver dependências dentro da backports, estas não serão instaladas, impossibilitando a instalação do pacote "pinado".
2) Instalar o pacote diretamente pelo apt-get, especificando qual distibuição você quer usar:
apt-get install -t sarge-backports mutt
Desta forma, o pacote solicitado e todas as dependências que ele tiver dentro
da backports serão instados. Como nem tudo são flores, neste tipo de uso,
toda vez que quisermos um pacote vindo da backports, precisamos dizer
especificamente, passando a opção -t sarge-backports
para o apt-get.
Informações retiradas de http://www.backports.org/instructions.html
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários