melhor maneira de instalar o pacote a partir do wheezy no squeeze

9

Eu quero usar o doxygen no meu servidor Debian Squeeze, mas preciso da versão do Debian Wheezy porque isso aparentemente contém a correção de bug necessária.

Não está em backports - verifique packages.debian.org/search?suite=squeeze-backports&searchon=names&keywords=doxygen (sou novo aqui e não foi permitido que isso seja um link adequado!)

Tentei adicionar o Wheezy ao meu arquivo sources.list e em execução, apt-get install -t wheezy doxygenmas ele quer instalar muito do wheezy; Este é um servidor de produção, portanto não pode arcar com esse risco.

Estou assumindo que a compilação a partir do código-fonte também desejará compilar todo o restante acima?

Alguma outra solução? (por exemplo, virtualização ou chrooting?) etc

artfulrobot
fonte

Respostas:

6

Adicione ao seu /etc/apt/apt.conf:

APT::Default-release "stable";

E então você pode executar:

aptitude install doxygen/wheezy

(não é a mesma coisa que com -t)

Giovanni Toraldo
fonte
Ok, eu tinha o bit de liberação padrão. Não confio no aptitude (executei uma vez, ele disse que queria desinstalar muitos lotes, como 'realpath'; cancelei, executei novamente e fiquei feliz em instalar o doxygen ...). Mas funcionou, obrigado.
Artfulrobot
com o aptitude, você tem melhor tratamento de dependência, especialmente quando instala pacotes de versões diferentes, que com o apt-get devem ser corrigidos manualmente (como fazer o downgrade de um pacote de biblioteca antes de instalar um pacote atualizado anteriormente).
Giovanni Toraldo
Eu tive que usar "espremer" em vez de "estável" e também adicionar deb http://mirror.rackspace.com/debian/ wheezy maina /etc/apt/sources.list antes que ele iria trabalhar
Motin
2

Compilar a partir do código-fonte tem uma boa chance de funcionar. É o que os backports fazem. Quando você compila um pacote Debian, o pacote binário resultante tem uma dependência de versão em todas as bibliotecas às quais os executáveis ​​do pacote estão vinculados: as versões da biblioteca instalada podem não ser mais antigas que as versões usadas durante a compilação. Se você recompilar um pacote wheezy em um sistema squeeze, essas dependências permitirão executar o pacote no squeeze. Isso pressupõe que não há uma dependência explícita em relação a uma versão do pacote que não está em aperto, que eu não verifiquei no caso específico do doxygen.

Gilles 'SO- parar de ser mau'
fonte
1

Eu recomendaria usar o apt-pinning:

Adicione o seguinte a / etc / apt / preferências ou alternativamente /etc/apt/preferences.d/pinning

Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10

e instale o pacote wheezy como Giovanni apontou:

apt-get install doxygen/wheezy
Robert Lacroix
fonte
como isso é melhor do que a sugestão de Giovanni?
Artfulrobot
0

Não tenho 100% de certeza de que o prevu funcione no debian, mas deveria: https://wiki.ubuntu.com/Prevu Instalei vários pacotes com o prevu das versões mais recentes do ubuntu.

Se você não conseguir fazê-lo funcionar, tente compilar a partir do código-fonte, porque talvez você não precise compilar todas as bibliotecas, pois elas provavelmente já estão presentes, elas são apenas versões mais antigas.

Jure1873
fonte
prevu parece ótimo! mas não pode encontrá-lo para debian :-( Quando você diz tentar compilar, você quer dizer apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.debque eu sou certeza que vai chamar em todas as outras coisas?
artfulrobot