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 SEBUAH(> = 1)
C tergantung pada B(> = 1) dan SEBUAH(> = 1)
Jika versi terbaru A, B, C dalam repositori adalah 2 maka ini berfungsi.
Karena saya telah menempatkan versi 3 A dan versi 3 B di repo sudo apt-get install, meta-paket saya 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 secara manual menginstal versi 2 dari A dan B kemudian menginstal metapackage dengan benar, yang sangat menunjukkan bahwa tidak ada ketergantungan tersembunyi pada A3 atau B3. Ini bukan solusi untuk masalah 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, apakah ada cara saya bisa mendapatkan info tambahan apa yang sebenarnya menciptakan kebutuhan untuk versi 3 dari A dan versi 3 dari B?
Anda harus memilih versi tertentu untuk menginstal, dan menginstalnya semua pada saat yang sama ketika Anda menginstal meta-paket.
sudo apt-get install meta-package package1=2 package2=2 package3=2
Seperti jawaban int_ua mengatakan, Anda dapat menemukan dependensi terbalik dengan ini:
apt-cache rdepends package
Jika Anda ingin mengetahui informasi lebih lanjut tentang salah satu paket tersebut (tersedia versi, dependensi, dan banyak lagi), Gunakan ini:
apt-cache show package
Setelah Anda selesai menginstalnya, dan ingin menyimpannya di versi tersebut saat melakukan peningkatan sistem, Anda harus menggunakannya apt-pinning seperti yang disarankan oleh belacqua.
Pemasangan APT
Fitur pemberian pin APT memungkinkan administrator memaksa APT untuk memilih
versi paket tertentu yang mungkin tersedia dalam berbagai
versi dari repositori yang berbeda. Ini memungkinkan administrator untuk
memastikan bahwa paket tidak ditingkatkan ke versi yang mungkin bertentangan
dengan paket lain pada sistem, atau yang belum mencukupi
diuji untuk perubahan yang tidak diinginkan. Untuk melakukan ini, pin di APT
file preferensi (/ etc / apt / preferences) harus diubah.
Anda dapat mencoba menginstal dependensi terlebih dahulu dengan
sudo apt-get install package=2
di mana 2 adalah versinya
Anda dapat mengetahui paket apa yang tergantung pada paket dengan
apt-cache rdepends package