Paket yang Sama - Beberapa Repos

11

Repositori mana yang akan dipilih Ubuntu untuk mengunduh paket jika paket yang sama tersedia di lebih dari satu repo? Misalkan paket A awalnya diinstal dari repositori X dan kemudian saya menambahkan repo Y yang juga memiliki paket A. Repo mana yang akan dipilih untuk memperbarui paket? Juga jika saya benar-benar menghapus paket ini dan mencoba menginstal ulang maka repo mana yang lebih disukai oleh Ubuntu untuk menginstal paket?

7_R3X
sumber

Jawaban:

12

Secara default, paket dengan nomor versi tertinggi diinstal, terlepas dari mana repositori itu berasal, kecuali jika nomor versinya lebih rendah dari versi paket yang saat ini diinstal (ini dapat terjadi, misalnya, jika Anda mengunduh versi yang lebih tinggi sebagai sebuah .debpaket dan memasangnya secara manual). Dalam kasus yang sangat tidak mungkin bahwa beberapa repositori memiliki versi yang sama (tertinggi) dari sebuah paket, paket diinstal dari yang muncul pertama kali dalam sources.listfile.

Anda dapat mengubah ini, dengan menetapkan prioritas yang berbeda untuk beberapa paket berdasarkan berbagai kriteria. Paragraf sebelumnya benar dengan pengaturan default karena secara default semua paket memiliki prioritas 500. Namun, jika versi yang berbeda dari paket memiliki prioritas yang berbeda, versi dengan prioritas tertinggi akan diinstal, dan nomor versi hanya akan digunakan sebagai ikatan. pemutus jika beberapa versi memiliki prioritas (tertinggi) yang sama. Juga, jika paket prioritas tertinggi memiliki prioritas setidaknya 1000, itu akan diinstal bahkan jika versinya lebih rendah dari versi yang diinstal saat ini.

Prioritas dikelola /etc/apt/preferencesdan didokumentasikan dalam man apt_preferences. Lihat jawaban saya di sini untuk contoh bagaimana mereka dapat digunakan.

fkraiem
sumber
Perhatikan bahwa dokumentasi mengatakan bahwa ia menetapkan prioritas 990 untuk versi yang dimiliki rilis target. Jadi bukan 500 seperti yang Anda katakan di sini ( karena secara default semua paket memiliki prioritas 500. ) Hanya 500 jika bukan target yang tepat.
Alexis Wilke
@AlexisWilke Secara default, tidak ada rilis target.
fkraiem