Cara terbaik untuk menginstal paket dari mengi saat ditekan

9

Saya ingin menggunakan doxygen pada server Debian Squeeze saya, tetapi saya memerlukan versi dari Debian Wheezy karena ini ternyata mengandung perbaikan bug yang saya butuhkan.

Itu tidak ada di backports - periksa paket.debian.org/search?suite=squeeze-backports&searchon=names&keywords=doxygen (saya baru di sini dan tidak diizinkan ini sebagai tautan yang tepat!)

Saya mencoba menambahkan Wheezy ke file sources.list saya dan menjalankan apt-get install -t wheezy doxygentetapi ingin menginstal terlalu banyak dari wheezy; Ini adalah server produksi sehingga tidak mampu menanggung risiko ini.

Saya berasumsi bahwa kompilasi dari sumber akan ingin mengkompilasi semua sisa dari sumber di atas juga?

Ada solusi lain? (misalnya beberapa virtualisasi atau chroot?) dll

artfulrobot
sumber

Jawaban:

6

Tambahkan ke Anda /etc/apt/apt.conf:

APT::Default-release "stable";

Dan kemudian Anda dapat menjalankan:

aptitude install doxygen/wheezy

(bukan hal yang sama dengan -t)

Giovanni Toraldo
sumber
Ok saya punya bit rilis default. Saya tidak percaya aptitude (saya menjalankannya sekali, katanya ingin menghapus banyak, seperti 'realpath'; Saya membatalkan, menjalankannya lagi dan dengan senang hati menginstal doxygen ...). Tapi itu berhasil, terima kasih.
artfulrobot
dengan aptitude Anda memiliki penanganan ketergantungan yang lebih baik, terutama ketika Anda menginstal paket dari rilis yang berbeda, bahwa dengan apt-get harus diperbaiki dengan tangan (seperti, menurunkan versi paket perpustakaan sebelum menginstal paket yang sebelumnya ditingkatkan).
Giovanni Toraldo
Saya harus menggunakan "pemerasan" alih-alih "stabil" dan juga menambahkan deb http://mirror.rackspace.com/debian/ wheezy mainke /etc/apt/sources.list sebelum berhasil
Motin
2

Kompilasi dari sumber memiliki peluang bagus untuk bekerja. Itu yang dilakukan backports. Ketika Anda mengkompilasi paket Debian, paket biner yang dihasilkan memiliki ketergantungan versi pada semua perpustakaan yang dieksekusi oleh paket yang terkait: versi pustaka yang diinstal mungkin tidak lebih lama dari versi yang digunakan selama kompilasi. Jika Anda mengkompilasi ulang paket wheezy pada sistem squeeze, dependensi ini memungkinkan Anda menjalankan paket tersebut pada squeeze. Itu dengan asumsi tidak ada ketergantungan eksplisit terhadap versi paket yang tidak di tekan, yang saya belum memeriksa untuk kasus spesifik oksigen.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1

Saya akan merekomendasikan menggunakan apt-pinning sebagai gantinya:

Tambahkan yang berikut ini ke / etc / apt / preferences atau sebagai alternatif /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

dan instal paket wheezy seperti yang ditunjukkan Giovanni:

apt-get install doxygen/wheezy
Robert Lacroix
sumber
bagaimana itu lebih baik dari saran Giovanni?
artfulrobot
0

Saya tidak 100% yakin prevu bekerja pada debian, tetapi seharusnya: https://wiki.ubuntu.com/Prevu Saya telah menginstal beberapa paket dengan prevu dari versi ubuntu yang lebih baru.

Jika Anda tidak bisa menggunakannya, coba kompilasi dari sumber karena mungkin Anda tidak perlu mengkompilasi semua perpustakaan karena mungkin sudah ada, mereka hanya versi yang lebih lama.

Jure1873
sumber
prevu tampak hebat! tetapi tidak dapat menemukannya untuk debian :-( Ketika Anda mengatakan coba kompilasi, maksud Anda apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.deb? Saya yakin itu akan menarik semua hal lainnya?
artfulrobot