quinta-feira, 26 de março de 2015

Debian GNU/Linux: Instalação de pacotes de versões diferentes

Introdução

O objetivo consiste em ter um debian jessie e utilizar a versão 2.5* do avidemux, que já só está disponível nos repositórios wheezy.

Versões

Debian GNU/Linux utiliza um sistema de versões muito versátil existindo basicamente três tipos de repositórios: stable (atualmente wheezy), testing (jessie) e unstable (sid).

O que os diferencia são as atualizações de pacotes que podem sofrer.

Um sistema que utilize a base stable normalmente possui apenas atualizações de segurança ou de bugs, não são implementadas novas versões que tragam novas funcionalidades.

Já o unstable tem entrada e saída de pacotes de acordo com as necessidades de ter as versões mais recentes de diversos softwares e bibliotecas. Resta acrescentar que esta facilidade na atualização de programas/bibliotecas pode fazer que com um simples upgrade um determinado programa deixe de funcionar com as novas versões de bibliotecas... No entanto, existe sempre muita documentação sobre as atualizações e convém estar atento [1].

O testing junta o melhor dos dois, pois permite ter versões relativamente recentes dos principais programas e bibliotecas e mantém um ritmo salutar de novas versões que, por regra, não trazem incompatibilidades com o software existente.

Se a escolha da versão certa a seguir (stable, testing ou unstable) traz dúvidas, há ainda a considerar a opção de poder utilizar pacotes com versões diferentes das que estão no repositório principal.
Isto é, utilizar uma base stable e instalar um software cuja versão existe apenas a partir do testing. Neste caso é pretendido exatamente o oposto disto.

APT Pinning

Consiste na indicação da prioridade a dar a cada repositório, mas pode ser definida por pacote.
No caso em questão, as versões recentes do avidemux trouxeram algumas novidades que impediam, por exemplo, a visualização lado a lado do input e output do vídeo com os efeitos.

Assim, neste caso é uma base testing (jessie) que terá instalado o avidemux a partir da base stable (wheezy). Como este programa não faz parte dos repositórios debian oficiais, normalmente é instalado a partir dos repositórios deb-multimedia.org.

Assim, é necessário adicionar ambos os repositórios em /etc/apt/sources.list.d/multimedia.list:
deb http://www.deb-multimedia.org wheezy main non-free
deb http://www.deb-multimedia.org jessie main non-free

Como os pacotes no jessie são mais recentes que os do wheezy, tudo o que seja atualizações e instalações seram feitas smepre a partir do jessie.

Assim, para forçar uma determinada versão que possui as funcionalidades pretendidas, é necessário especificar as seguintes preferências em /etc/apt/preferences:
Package: avidemux
Pin: version 1:2.5*
Pin-Priority: 1001

Package: avidemux-common
Pin: version 1:2.5*
Pin-Priority: 1001

Package: avidemux-plugins
Pin: version 1:2.5*
Pin-Priority: 1001

Isto faz com que estes três pacotes (avidemux, avidemux-common e avidemux-plugins) fiquem na versão 1:2.5*, que existe nos repositórios wheezy, e não sejam atualizados para as versões que estão disponíveis no jessie.

A partir daqui basta atualizar com apt-get update
Depois qualquer apt-get install ou apt-get upgrade ou mesmo apt-get dist-upgrade irá seguir as preferências em relação aos pacotes definidos.

Referências

[1] - https://wiki.debian.org/DebianUnstable#Where_can_I_get_help_with_Sid.3F
[2] - https://wiki.debian.org/AptPreferences

Sem comentários:

Enviar um comentário