modo migliore per installare il pacchetto da wheezy su squeeze


9

Voglio usare doxygen sul mio server Debian Squeeze, ma ho bisogno della versione di Debian Wheezy perché apparentemente contiene la correzione di cui ho bisogno.

Non è nei backport - controlla pacchetti.debian.org/search?suite=squeeze-backports&searchon=names&keywords=doxygen (sono nuovo qui e non mi è stato permesso come link corretto!)

Ho provato ad aggiungere Wheezy al mio file sources.list ed eseguirlo apt-get install -t wheezy doxygenma vuole installarlo troppo da wheezy; Questo è un server di produzione quindi non può permettersi questo rischio.

Suppongo che la compilazione dal sorgente voglia compilare tutto il resto anche dal sorgente?

Qualche altra soluzione? (ad es. virtualizzazione o chrooting?) ecc

Risposte:


6

Aggiungi a /etc/apt/apt.conf:

APT::Default-release "stable";

E quindi puoi eseguire:

aptitude install doxygen/wheezy

(non è la stessa cosa di -t)


Ok ho avuto il bit di rilascio predefinito. Non mi fido di aptitude (l'ho eseguito una volta, diceva che voleva disinstallare molti, come 'realpath'; l'ho annullato, l'ho eseguito di nuovo ed è stato felice di installare doxygen ...). Ma ha funzionato, grazie.
artfulrobot,

con aptitude si ha una migliore gestione delle dipendenze, specialmente quando si installano pacchetti da versioni diverse, che con apt-get deve essere riparato manualmente (come, eseguire il downgrade di un pacchetto di libreria prima di installare un pacchetto precedentemente aggiornato).
Giovanni Toraldo,

Ho dovuto usare "squeeze" invece di "stable" e anche aggiungere deb http://mirror.rackspace.com/debian/ wheezy maina /etc/apt/sources.list prima che funzionasse
Motin

2

La compilazione dalla fonte ha buone probabilità di funzionare. È quello che fanno i backport. Quando si compila un pacchetto Debian, il pacchetto binario risultante ha una dipendenza dalla versione di tutte le librerie a cui sono collegati gli eseguibili del pacchetto: le versioni delle librerie installate potrebbero non essere più vecchie delle versioni utilizzate durante la compilazione. Se si ricompila un pacchetto wheezy su un sistema di compressione, queste dipendenze consentono di eseguire il pacchetto su compressione. Ciò presuppone che non vi sia una dipendenza esplicita rispetto a una versione del pacchetto che non è in compressione, che non ho verificato per il caso specifico di doxygen.


1

Consiglierei invece di usare l'APP-pinning:

Aggiungi quanto segue a / etc / apt / preferenze o in alternativa /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 installa il pacchetto wheezy come ha sottolineato Giovanni:

apt-get install doxygen/wheezy

come è meglio del suggerimento di Giovanni?
artfulrobot,

0

Non sono sicuro al 100% che prevu funzioni su debian, ma dovrebbe: https://wiki.ubuntu.com/Prevu Ho installato diversi pacchetti con prevu dalle nuove versioni di Ubuntu.

Se non riesci a farlo funzionare, prova a compilare dal sorgente perché forse non avrai bisogno di compilare tutte le librerie poiché probabilmente sono già presenti, sono solo versioni precedenti.


prevu sembra fantastico! ma non riesco a trovarlo per Debian :-( Quando dici di provare a compilare, vuoi dire apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.deb? Sono sicuro che attirerà tutte le altre cose?
artfulrobot,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.