Chỉ định mức độ ưu tiên cao hơn cho PPA


13

Tôi đang cố gắng tìm ra cách gán mức ưu tiên cao hơn cho một PPA so với PPA khác. Tôi đã xem qua một loạt các câu trả lời trên diễn đàn này nhưng không ai trong số họ giải quyết vấn đề của tôi.

Chúng tôi có hai nguồn PPA trên một số máy chủ mà chúng tôi dính vào các tệp riêng biệt /etc/apt/sources.list.d. Một số repos này cung cấp các gói giống nhau (về tên) nhưng các phiên bản khác nhau và có thể là các tệp nhị phân khác nhau. Có cách nào để chúng ta có thể ƯU TIÊN một repo khác không?

Tôi đã đọc hướng dẫn apt_preferences nhưng nó không thể tối nghĩa hơn và không tìm thấy câu trả lời cho câu hỏi của tôi. Đây là tình huống. CHÚNG TÔI có các nguồn sau:

$ ls -l /etc/apt/sources.list.d 
total 12
-rw-r--r-- 1 root root 66 Jan  2 16:50 nginx-source.list
-rw-r--r-- 1 root root 84 Jan  2 16:49 ruby-ng-experimental-source.list

nginx-source.listnội dung ở đâu :

deb     http://ppa.launchpad.net/nginx/stable/ubuntu precise main

ruby-ng-experimental-source.listnội dung là:

deb     http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main

Cả hai nguồn này đều cung cấp gói nginx-full của các phiên bản khác nhau, v.v. Khi tôi liệt kê các ưu tiên ruby-ng-thử nghiệm-source.list nằm trên đầu ra do đó nginx-full được cài đặt từ repo đó:

$ apt-cache policy nginx-full                                 
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Version table:
     1:1.2.6-1~43~precise1 0
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 0
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 0
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

Làm cách nào để tôi ưu tiên repo được liệt kê trong nginx-source.list so với danh sách đứng đầu danh sách bây giờ? Tôi đã thử một cái gì đó như thế này:

$ cat /etc/apt/preferences
Package: nginx-full
Pin: origin http://ppa.launchpad.net/nginx/stable/ubuntu
Pin-Priority: 1000

Package: nginx-full
Pin: origin http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu
Pin-Priority: 100

Nhưng điều đó đã thay đổi các ưu tiên của cả hai nguồn thành cùng một số - hoặc một cái gì đó tương tự? Vì vậy, điều này KHÔNG thay đổi các ưu tiên và nginx-full vẫn đang được cài đặt từ PPA hộp sáng

$ apt-cache policy nginx-full  
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Package pin: (not found)
  Version table:
     1:1.2.6-1~43~precise1 1000
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 1000
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 1000
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

Bất cứ ai cũng có ý tưởng làm thế nào để đạt được những gì tôi đang cố gắng làm?

Câu trả lời:


15

Đây là một ví dụ về /etc/apt/preferences

mint@mint ~ $ cat /etc/apt/preferences
Package: *
Pin: release o=linuxmint
Pin-Priority: 700

Package: *
Pin: origin packages.linuxmint.com
Pin-Priority: 700

Package: *
Pin: release o=Ubuntu
Pin-Priority: 500

Bạn có thể phải chạy apt-get updatesau khi tạo tập tin.


/ etc / apt / Preferences không tồn tại vào ngày 13.04, mặc dù /etc/apt/preferences.d/ tồn tại, nhưng là một thư mục trống.
Tuy nhiên, một người dùng khác

1
Tệp không phải là chứng khoán mà bạn chỉ cần tạo nó
GM-Script-Writer-62850

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.