Mari kita memiliki metapackage yang tergantung pada paket-paket berikut
Depends: A (=2),
B (=2),
C (=2)
Perhatikan '=' - Saya ingin menginstal versi khusus ini, bukan yang terbaru.
Selain itu:
B tergantung pada A (> = 1)
C tergantung pada B (> = 1) dan A (> = 1)
Jika versi terbaru dari A, B, C di repositori adalah 2 maka ini berfungsi.
Karena saya telah memasukkan versi 3 dari A dan versi 3 dari B di repo sudo apt-get install my-meta-package menolak untuk menyelesaikan dengan info berikut:
The following packages have unmet dependencies:
my-meta-package: Depends: B (= 2) but 3 is to be installed
Depends: A (= 2) but 3 is to be installed
Jika saya menginstal versi 2 dari A dan B secara manual maka metapackage menginstal dengan benar, yang sangat menyarankan bahwa tidak ada ketergantungan tersembunyi pada A3 atau B3. Ini bukan solusi untuk masalah ini karena metapackage diinstal secara otomatis pada banyak mesin.
PERTANYAAN: Apa yang harus dilakukan untuk membuat sudo apt-get install my-meta-package install versi 2,2,2?
Selain itu, adakah cara saya bisa mendapatkan info tambahan apa yang sebenarnya menciptakan kebutuhan untuk versi 3 dari A dan versi 3 dari B?
sumber
(a=2), (b=2)
?Jawaban:
Anda harus memilih versi tertentu untuk diinstal, dan menginstal semuanya pada saat yang sama ketika Anda menginstal paket meta.
Seperti jawaban int_ua mengatakan, Anda dapat menemukan dependensi terbalik dengan ini:
Jika Anda ingin mengetahui informasi lebih lanjut tentang salah satu paket tersebut ( versi yang tersedia, dependensi, dan banyak lagi ), gunakan ini:
Setelah Anda selesai menginstalnya, dan ingin tetap menggunakannya pada versi tersebut saat melakukan peningkatan sistem, Anda perlu menggunakan apt-pinning seperti yang disarankan oleh belacqua .
Penyematan APT
sumber
Anda dapat mencoba menginstal dependensi terlebih dahulu
sudo apt-get install package=2
di mana 2 adalah versinyaAnda dapat mengetahui paket apa yang bergantung pada paket tersebut
apt-cache rdepends package
sumber