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 Wheezy (é o Stable na data deste artigo), Volatile e Backports quando necessário.
Outro cuidado a tomar é com o nome "Stable" ou claramente "Wheezy" (na data deste artigo). O comportamento pode ser
diferente do esperado também dependendo da data de um NOVO lançamento, como do Jessie, 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 n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 30
Package: *
Pin: release a=unstable
Pin-Priority: 20
Package: *
Pin: release a=experimental
Pin-Priority: 10
Package: *
Pin: release a="wheezy-backports"
Pin-Priority: 200
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 ftp://ftp.debian-multimedia.org wheezy main non-free
# deb ftp://ftp.deb-multimedia.org wheezy main non-free
deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.br.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
# deb http://ftp.br.debian.org/debian/ jessie main contrib non-free
# deb-src http://ftp.br.debian.org/debian/ jessie main contrib non-free
# deb http://backports.debian.org/debian-backports wheezy-backports main contrib non-free
# deb-src http://backports.debian.org/debian-backports wheezy-backports main contrib non-free
deb http://ftp.debian.org/debian wheezy-backports main contrib non-free
deb-src http://ftp.debian.org/debian wheezy-backports main contrib non-free
#20130505 during dist-upgrade, disable proposed-updates
deb http://ftp.br.debian.org/debian/ wheezy-proposed-updates contrib non-free main
deb-src http://ftp.br.debian.org/debian/ wheezy-proposed-updates contrib non-free main
# deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
deb http://download.skype.com/linux/repos/debian/ stable non-free
#AFM 20150517 only for the brave ones
# deb http://ftp.br.debian.org/debian/ experimental main contrib non-free
# deb-src http://ftp.br.debian.org/debian/ experimental main contrib non-free
#AFM 20140821
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
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.
Comentários
Postar um comentário