OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

8.3.2. Quản lý các ưu tiên của gói‌


Một trong những khía cạnh quan trọng nhất trong cấu hình của APT là quản lý các ưu tiên liên quan đến mỗi nguồn gói. Ví dụ: bạn có thể muốn mở rộng hệ thống Kali Rolling của mình bằng một hoặc hai gói mới hơn từ Debian Unstable hoặc Debian Experimental. Có thể ấn định mức độ ưu tiên cho mỗi gói có sẵn (cùng một gói có thể có một số mức độ ưu tiên tùy thuộc vào phiên bản của nó hoặc bản phân phối cung cấp nó). Những ưu tiên này sẽ ảnh hưởng đến hành vi của APT: đối với mỗi gói, nó sẽ luôn chọn phiên bản có mức ưu tiên cao nhất (ngoại trừ trường hợp phiên bản này cũ hơn phiên bản đã cài đặt và mức độ ưu tiên của nó nhỏ hơn 1000).

APT xác định một số mức độ ưu tiên mặc định. Mỗi phiên bản gói đã cài đặt có mức ưu tiên là 100. Một phiên bản không được cài đặt có mức ưu tiên là 500 theo mặc định nhưng nó có thể nhảy lên 990 nếu nó là một phần của bản phát hành đích (được định nghĩa với -t tùy chọn dòng lệnh hoặc APT :: Bản phát hành mặc định chỉ thị cấu hình).

Bạn có thể sửa đổi các mức độ ưu tiên bằng cách thêm các mục nhập vào / etc / apt / tùy chọn tệp với tên của các gói bị ảnh hưởng, phiên bản, nguồn gốc của chúng và mức độ ưu tiên mới của chúng.

APT sẽ không bao giờ cài đặt phiên bản cũ hơn của gói (nghĩa là gói có số phiên bản thấp hơn số của gói hiện được cài đặt) ngoại trừ khi mức độ ưu tiên của nó cao hơn 1000. APT sẽ luôn cài đặt gói có mức ưu tiên cao nhất theo sau hạn chế. Nếu hai gói có cùng mức độ ưu tiên, APT sẽ cài đặt gói mới nhất (có số phiên bản là cao nhất). Nếu hai gói của cùng một phiên bản có cùng mức độ ưu tiên nhưng khác nhau về nội dung của chúng, APT sẽ cài đặt phiên bản chưa được cài đặt (quy tắc này đã được tạo để đề cập đến trường hợp cập nhật gói mà không có số sửa đổi tăng lên, quy tắc này thường được yêu cầu ).

Nói một cách cụ thể hơn, một gói có độ ưu tiên nhỏ hơn 0 sẽ không bao giờ được cài đặt. Gói có mức ưu tiên trong khoảng từ 0 đến 100 sẽ chỉ được cài đặt nếu chưa có phiên bản nào khác của gói được cài đặt. Với mức độ ưu tiên từ 100 đến 500, gói sẽ chỉ được cài đặt nếu có

không có phiên bản mới hơn nào khác được cài đặt hoặc có sẵn trong bản phân phối khác. Gói ưu tiên trong khoảng từ 501 đến 990 sẽ chỉ được cài đặt nếu không có phiên bản mới hơn được cài đặt hoặc có sẵn trong bản phân phối đích. Với mức độ ưu tiên từ 990 đến 1000, gói sẽ được cài đặt trừ khi phiên bản đã cài đặt mới hơn. Mức độ ưu tiên lớn hơn 1000 sẽ luôn dẫn đến việc cài đặt gói ngay cả khi nó buộc APT phải hạ cấp xuống phiên bản cũ hơn.

Khi APT kiểm tra / etc / apt / tùy chọn, trước tiên nó tính đến các mục nhập cụ thể nhất (thường là những mục chỉ định gói có liên quan), sau đó là những mục chung chung hơn (bao gồm để kiểm tra tất cả các gói của một bản phân phối). Nếu một số mục nhập chung tồn tại, kết quả phù hợp đầu tiên sẽ được sử dụng. Các tiêu chí lựa chọn có sẵn bao gồm tên gói và nguồn cung cấp gói. Mọi nguồn gói được xác định bằng thông tin có trong Phát hành tệp APT tải xuống cùng với Gói các tập tin. Các tệp này chỉ định nguồn gốc, thường là “Kali” cho các gói từ các máy nhân bản chính thức của Kali và “Debian” cho các gói từ các máy nhân bản chính thức của Debian, nhưng nguồn gốc cũng có thể là tên của một người hoặc một tổ chức đối với các kho lưu trữ của bên thứ ba. Các Phát hành tệp cũng cung cấp tên của bản phân phối cùng với phiên bản của nó. Chúng ta hãy xem xét cú pháp của nó thông qua một số nghiên cứu trường hợp thực tế về cơ chế này.



Ưu tiên của Nếu bạn đã liệt kê thử nghiệm kali-blood-edge hoặc Debian trong source.list tập tin, Kali-Bleeding-Edge và các gói tương ứng hầu như sẽ không bao giờ được cài đặt vì APT mặc định của chúng Thử nghiệm Debian mức độ ưu tiên là 1. Tất nhiên, đây là một trường hợp cụ thể, được thiết kế để ngăn người dùng cài đặt nhầm các gói cạnh đang chảy máu. Chỉ có thể cài đặt các gói bằng cách gõ apt

cài đặt, dựng lên gói/ kali-huyết-cạnh, tất nhiên giả sử rằng bạn nhận thức được những rủi ro và những nỗi đau đầu tiềm ẩn của cuộc sống bên lề. Nó vẫn có thể (mặc dù không khuyến cáo) để xử lý các gói kali-cạnh chảy máu / thử nghiệm giống như các gói phân phối khác bằng cách ưu tiên cho chúng là 500. Điều này được thực hiện với một mục cụ thể trong

/ etc / apt / tùy chọn:

Trọn gói: *

Pin: phát hành a = kali-blood-edge Pin-Priority: 500


Giả sử rằng bạn chỉ muốn sử dụng các gói từ Kali và bạn chỉ muốn cài đặt các gói Debian khi được yêu cầu rõ ràng. Bạn có thể viết các mục sau trong / etc / apt / tùy chọn tệp (hoặc trong bất kỳ tệp nào trong /etc/apt/preferences.d/):


Trọn gói: *

Pin: release o = Kali Pin-Mức độ ưu tiên: 900


Trọn gói: *

Pin: release o = Debian Pin-Priority: -10

Trọn gói: *

Pin: release o = Kali Pin-Mức độ ưu tiên: 900


Trọn gói: *

Pin: release o = Debian Pin-Priority: -10

Trong hai ví dụ cuối cùng, bạn đã thấy a = kali-huyết-cạnh, xác định tên của phân phối dự kiến ​​và o = Kali o = Debian, giới hạn phạm vi đối với các gói có nguồn gốc tương ứng là Kali và Debian.

Bây giờ, hãy giả sử rằng bạn có một máy chủ với một số chương trình cục bộ tùy thuộc vào phiên bản 5.22 của Perl và bạn muốn đảm bảo rằng các bản nâng cấp sẽ không cài đặt phiên bản khác của nó. Bạn có thể sử dụng mục này:


Gói: perl

Pin: phiên bản 5.22 * Pin-Priority: 1001

Gói: perl

Pin: phiên bản 5.22 * Pin-Priority: 1001


Tài liệu tham khảo cho tệp cấu hình này có sẵn trong trang hướng dẫn apt_pref erences (5), mà bạn có thể hiển thị với người đàn ông apt_preferences.


Thêm nhận xét vào Không có cú pháp chính thức cho nhận xét trong / etc / apt / tùy chọn, nhưng một số văn bản

/ etc / apt / tùy chọn mô tả có thể được cung cấp bằng cách viết trước một hoặc nhiều Giải thích các trường vào mỗi mục nhập:

Giải thích: Gói xserver-xorg-video-intel cung cấp Giải thích: trong thử nghiệm có thể được sử dụng an toàn

Gói: xserver-xorg-video-intel Pin: phát hành a = thử nghiệm

Mức độ ưu tiên pin: 500


Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: