Làm thế nào để apt-get đối phó với nhiều nguồn?


8

Giả sử kho của Ubuntu có một gói.

Tôi cài đặt gói đó bằng cách sử dụng apt-get.

Sau đó tôi thêm một nguồn bổ sung (có add-apt-repository) liệt kê một phiên bản mới hơn hoặc cũ hơn của gói.

Apt-get sẽ luôn nâng cấp lên phiên bản mới nhất, bất kể nguồn nào cung cấp phiên bản mới nhất?

Câu trả lời:


10

APT sẽ luôn cài đặt phiên bản mới nhất không bị loại trừ bởi các tùy chọn . Tùy chọn được chỉ định trong tệp /etc/apt/preferences(và trong tệp dưới /etc/apt/preferences.d).

Một số kho lưu trữ có cấu hình ngăn các gói của chúng được cài đặt tự động. Ví dụ: các bản sao lưu Debian có các tệp phát hành (mà bạn có thể thấy /var/lib/apt/lists) có chứa

NotAutomatic: yes
ButAutomaticUpgrades: yes

Nếu bạn có nhiều nguồn cho cùng một gói (nghĩa là cùng tên gói, cùng số phiên bản), thì APT tải xuống từ nguồn đầu tiên được tìm thấy trong /etc/apt/sources.list(hoặc /etc/apt/sources.list.d/*; các tệp được tìm kiếm theo thứ tự từ điển và các nguồn được tìm kiếm theo thứ tự bên trong mỗi tập tin). Vì vậy, hãy liệt kê các gương địa phương đầu tiên. Thứ tự trong sources.listlà không liên quan cho các gói có số phiên bản khác nhau.


Vì vậy, đối với cùng một gói chính xác (cùng tên, cùng số phiên bản), apt sẽ tìm kiếm theo thứ tự bảng chữ cái trong sources.list.d(và đó là thư mục con)?
Sajuuk

1
@Sajuuk sources.listĐầu tiên, sau đó trong các tập tin sources.list.dtheo thứ tự bảng chữ cái. Bên trong mỗi tệp, nó tìm kiếm theo thứ tự các nguồn được liệt kê trong tệp.
Gilles 'SO- ngừng trở nên xấu xa'

Tôi biết, bởi vì các nguồn có thể tồn tại ở nhiều vị trí, chẳng hạn như /etc/apt/source.list và ./etc/apt/source.list.d/*.list Tôi đang hỏi những nguồn đó sẽ được tìm kiếm theo thứ tự nào ?
Sajuuk

@Sajuuk Xem bình luận đã chỉnh sửa của tôi (Tôi đã nhấn Enter trước khi nhập xong).
Gilles 'SO- ngừng trở nên xấu xa'
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.