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.

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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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