você está aqui: Home  → Arquivo de Mensagens

Usando backports da forma certa

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



Veja a relação completa dos artigos de Conrado Pinto Rebessi

 

 

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