APT pinning: Como configurar APT para múltiplos repositórios no Debian

Você PODE misturar ORDENADAMENTE pacotes de diferentes repositórios e seções num sistema Debian e manter a gerenciabilidade.

Misturar pacotes da versão Estável, Testing, Instável, Backports, Experimental num mesmo computador é possível dentro de alguns limites e com algum cuidado.

APT pinning

Para poder utilizar diferentes seções e repositórios corretamente num sistema Debian, sem quebrar dependências, é preciso usar a técnica de APT PINNING.

Primeiramente, deve ser criado ou editado um arquivo /etc/apt/preferences definindo "pesos" para repositórios, ou versões, ou até pacotes individuais.
IMPORTANTE SER CRIADO ANTES DE QUALQUER COMANDO APT, para não confundir dependências.

O "peso" de um pacote já instalado na máquina é definido como 100, independentemente do repositório de onde tenha sido instalado.

O APT atribui os pesos do /etc/apt/preferences somente para pacotes que SERÃO instalados. Portanto, mesmo versões mais novas em repositórios com peso inferior a 100 não seriam atualizadas automáticamente. Só com comando explícito similar a:

apt-get -t nome_repositorio_descrito_no_preferences_e_sources_list  install  nome_pacote

Uma limitação importante é que repositórios Testing, Unstable, Experimental continuam sempre evoluindo versões também dos compiladores e bibliotecas. Isso pode causar dependências impossíveis de resolver satisfatóriamente um certo tempo depois de lançada uma versão Estável. Sem mencionar que mesmo que resolvidas, podem baixar uma quantidade muito grande de novas versões de pacotes dependentes que anulariam as vantagens de uma distribuição Stable.

A melhor solução é procurar usar apenas os repositórios Lenny (é o Stable na data deste artigo), Volatile e Backports quando necessário.

Outro cuidado a tomar é com o nome "Stable" ou claramente "Lenny" (na data deste artigo). O comportamento pode ser diferente do esperado também dependendo da data de um NOVO lançamento, como do Squeeze, e da consistência entre nomes no /etc/apt/sources.list e /etc/apt/preferences.

Veja um exemplo de arquivo /etc/apt/preferences

Package: *
Pin: release a=lenny
Pin-Priority: 800

Package: *
Pin: release a=testing
Pin-Priority: 90

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: *
Pin: release a=experimental
Pin-Priority: 9

Package: *
Pin: release a=lenny-backports
Pin-Priority: 200

Package: glusterfs-client
Pin: release a=testing
Pin-Priority: 95

Package: glusterfs-server
Pin: release a=testing
Pin-Priority: 95

Package: libglusterfs0
Pin: release a=testing
Pin-Priority: 95

Leia mais no wiki do debian. Especialmente sobre como controlar precisamente o upgrade de certos pacotes, atribuindo "pesos" a eles, como no exemplo. No caso dos pacotes de glusterfs, eles seriam atualizados apenas por novas versões do backports, ou lenny, ou por comando explícito "apt-get -t testing install glusterfs-server" por exemplo.

Como configurar APT para múltiplos repositórios e seções

Para ter acesso aos pacotes binários não livres (como alguns drivers de rede e placas HBA), e outros programas não completamente livres, é preciso habilitar as seções "main", "non-free" e "contrib".
Depois de ter o arquivo /etc/apt/preferences, é preciso editar o arquivo /etc/apt/sources.list

deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free


deb http://security.debian.org/ lenny/updates main contrib non-free

deb-src http://security.debian.org/ lenny/updates main contrib non-free


deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free


deb-src http://ftp.br.debian.org/debian/ testing main contrib non-free
deb http://ftp.br.debian.org/debian/ testing main contrib non-free


deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org testing/updates main contrib non-free


deb http://www.backports.org/debian lenny-backports main contrib non-free

Fazer imediatamente, como root, um

apt-get update

Em seguida:

apt-get install debian-backports-keyring

E fazer NOVAMENTE, como root

apt-get update

Com estas duas configurações, será possível instalar pacotes e ou versões que não existam na estável, sem quebrar dependências.

Só então se pode fazer atualização de sistema:

apt-get upgrade

Leia os links e a página wiki do apt pinning para aprender os comandos para instalar pacotes de repositórios ou versões específicas sem quebrar dependências.

Sources.list prático para Debian GNU / Linux 5.0 Lenny

Veja um exemplo de arquivo /etc/apt/sources.list real que disponibiliza praticamente tudo que você precisa para uso num desktop Debian 5.0 Lenny.

How to configure maximum performance storage space for Debian GNU / Linux on IBM DS 8300 Data Storage Systems

The IBM DS 8300 Data Storage Systems are multi millions dollars flexible high availability and performance SAN machines.

But you may left much of such performance and availability behind if you do not configure them correctly for Debian GNU / Linux.

See how to ask for performance data storage space on them. Or what you need to configure on them.

Read about an actual configuration running with Debian GNU / Linux hosts at SERPRO.

Debian Project and SERPRO partnership preliminary report 1

SERPRO, the Brazilian IT government agency, has been advancing in its collaboration with Debian Project.

This is a first preliminary informal report about these advancements. This is not an official statement from Debian Project nor SERPRO, yet.

Comentários

Usuários registrados têm permissão para criar comentários.

eZ publish™ copyright © 1999-2012 eZ systems as