Cùng một gói - Nhiều Repos


11

Ubuntu sẽ chọn kho lưu trữ nào để tải xuống một gói từ nếu cùng một gói có sẵn trong nhiều repos? Giả sử gói A ban đầu được cài đặt từ kho X và sau đó tôi đã thêm repo Y cũng có gói A. Repo nào sẽ được chọn để cập nhật gói? Ngoài ra nếu tôi loại bỏ hoàn toàn gói này và cố gắng cài đặt lại thì Ubuntu sẽ được ưu tiên cài đặt gói nào?

Câu trả lời:


12

Theo mặc định, gói có số phiên bản cao nhất được cài đặt, bất kể kho lưu trữ đó đến từ đâu, trừ khi số phiên bản của gói thấp hơn phiên bản hiện tại của gói (ví dụ: điều này có thể xảy ra nếu bạn đã tải xuống phiên bản cao hơn như một .debgói và cài đặt bằng tay). Trong trường hợp rất khó xảy ra là một số kho lưu trữ có cùng phiên bản (cao nhất) của gói, gói được cài đặt từ gói xuất hiện đầu tiên trong sources.listtệp.

Tuy nhiên, bạn có thể thay đổi điều này bằng cách chỉ định mức độ ưu tiên khác cho một số gói dựa trên các tiêu chí khác nhau. Đoạn trước đúng với cài đặt mặc định vì theo mặc định, tất cả các gói đều có mức ưu tiên 500. Tuy nhiên, nếu các phiên bản khác nhau của gói có mức độ ưu tiên khác nhau, tuy nhiên, phiên bản có mức ưu tiên cao nhất sẽ được cài đặt và số phiên bản sẽ chỉ được sử dụng làm liên kết bộ ngắt nếu một số phiên bản có cùng mức ưu tiên (cao nhất). Ngoài ra, nếu gói ưu tiên cao nhất có mức ưu tiên ít nhất 1000, nó sẽ được cài đặt ngay cả khi phiên bản của nó thấp hơn phiên bản hiện được cài đặt.

Các ưu tiên được quản lý /etc/apt/preferencesvà ghi lại trong man apt_preferences. Xem câu trả lời của tôi ở đây để biết ví dụ về cách sử dụng chúng.


Lưu ý rằng tài liệu nói rằng nó gán mức ưu tiên là 990 cho các phiên bản thuộc về bản phát hành mục tiêu. Vì vậy, không phải 500 như bạn nói ở đây ( vì theo mặc định, tất cả các gói đều có mức ưu tiên 500. ) Nó chỉ là 500 nếu nó không phải là mục tiêu phù hợp.
Alexis Wilke

@AlexisWilke Theo mặc định, không có bản phát hành mục tiêu.
fkraiem
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.