Debian é um sistema maneiro (se fosse usar gíria do meu tempo, eu diria "supimpa"). Entretanto, a distribuição stable é sempre velha de dois anos, mesmo quando ela acaba de nascer. Este conservadorismo, aliado à coerência entre zilhões de pacotes disponíveis, é que faz o sucesso da Debian. Por outro lado, é difícil ficar na crista da onda em termos de aplicativos.
É por isto que eu mantenho o APT da Debian do meu notebook sempre apontando para a distribuição testing. Obviamente, não é aconselhável seguir esta prática em servidores compartilhados, como as VMs do CEFALA. Felizmente, já encontraram uma maneira de contornar o problema: basta alfinetar o APT (APT pinning, em inglês).
Imagine que você esteja rodando a Debian amd64 stable atual
(a.k.a. jessie), que tem o kernel Linux no pacote
linux-image-3.16.0-4-amd64
. Digamos que você deseja testar um kernel
mais moderno, por exemplo a versão 4.0 do Linux. Uma solução seria fazer a
atualização completa do sistema para a Debian unstable, no que só de
pensar já dá preguiça. Outra solução seria espetar o APT com um alfinete,
da seguinte forma:
Primeiro, informe o seu sistema da existência da Debian unstable, por
exemplo, criando o arquivo /etc/apt/sources.list.d/debian-unstable.list
com o seguinte conteúdo:
deb http://ftp.br.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.br.debian.org/debian/ unstable main contrib non-free
Em seguida, informe o APT quais são as suas preferências, por exemplo,
criando o arquivo /etc/apt/preferences.d/debian-releases
com o seguinte
conteúdo:
Package: *
Pin: release a=stable
Pin-Priority: 650
Package: *
Pin: release a=unstable
Pin-Priority: 600
Os números que aparecem nas linhas Pin-Priority
não têm relevância
particular, mas o essencial é saber que o maior deles indica a distribuição
preferida.
Em seguida, basta rodar:
$ sudo aptitude update
$ sudo aptitude install linux-image-4.0.0-1-amd64/unstable
e você terá o kernel Linux 4.0 rodando na sua máquina após o próximo reboot.
Como eu sou um cara supimpa (ou maneiro, se você preferir) eu criei um projetinho para automatizar os passos acima. Para variar, e por vício meu, ele está no Git do cefala-admin. Para aqueles que têm acesso via par de chaves SSH (veja as instruções que eu postei num outro artigo), basta fazer:
$ git clone cefala-admin@www.cefala.org:apt-debian-pinning
Em seguida, basta rodar sudo make
para alfinetar o APT. O "programa"
fará algumas perguntas, como no exemplo abaixo, mas basta teclar "Enter"
para aceitar as opções por default. Leia a documentação no arquivo
README.md
, para maiores detalhes.
$ sudo make
Debian mirror [ftp.us.debian.org]: ftp.fr.debian.org
Priority order [stable testing unstable experimental]: testing unstable experimental
Installing preferences file...
Installing source files...
aptitude update
[...]