Pertanyaan Tetapkan prioritas yang lebih tinggi untuk PPA


Saya mencoba mencari tahu bagaimana menetapkan prioritas lebih tinggi untuk satu PPA melalui PPA lain. Saya telah melihat banyak jawaban di forum ini tetapi tidak satupun dari mereka memecahkan masalah saya.

Kami memiliki dua sumber PPA di beberapa server kami yang kami tempelkan ke file terpisah /etc/apt/sources.list.d . Beberapa repos ini menyediakan paket yang sama (dalam hal nama) tetapi versi yang berbeda dan mungkin binari yang berbeda. Apakah ada cara bagaimana kita dapat MEMPRIORITAS satu repo atas yang lain?

saya membaca apt_preferences tutorial tetapi tidak bisa lebih jelas dan tidak menemukan jawaban untuk pertanyaan saya. Inilah situasinya. KAMI memiliki sumber-sumber berikut:

$ 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

dimana nginx-source.list konten adalah:

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

dan ruby-ng-experimental-source.list konten adalah:

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

Kedua sumber ini menyediakan paket nginx-penuh dari berbagai versi, dll. Ketika saya daftar prioritas ruby-ng-experimental-source.list adalah di atas output maka nginx-penuh diinstal dari repo itu:

$ 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

Bagaimana cara memprioritaskan repo yang terdaftar di nginx-source.list di atas yang ada di atas daftar sekarang? Saya mencoba sesuatu seperti ini:

$ 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

Tetapi itu telah mengubah prioritas dari kedua sumber ke nomor yang sama - atau sesuatu seperti itu? Jadi ini TIDAK mengubah prioritas dan nginx-penuh masih diinstal bentuk PPA brightbox

$ 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

Adakah yang tahu cara mencapai apa yang saya coba lakukan?


11
2018-05-10 17:49


asal




Jawaban:


Berikut ini contohnya /etc/apt/preferences

mint@mint ~ $ cat /etc/apt/prefrences
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

Mungkin harus lari apt-get update setelah membuatnya.


14
2018-05-13 00:43



/ etc / apt / preferences tidak ada pada 13.04, meskipun /etc/apt/preferences.d/ ada, tetapi merupakan direktori kosong. - Yet Another User
File bukan stok yang baru Anda buat saja - GM-Script-Writer-62850


Jawaban singkat: Setel pinning-priority ke kurang dari 0 dan tetapkan o = LP-PPA- *, mis.

Package: nginx-full
Pin: release o=LP-PPA-brightbox-ruby-ng-experimental
Pin-Priority: -10

Kutipan dari apt_preferences-manpage:

How APT Interprets Priorities
...
P < 0
prevents the version from being installed

Informasi lebih lanjut: http://manpages.ubuntu.com/manpages/raring/en/man5/apt_preferences.5.html dan https://help.ubuntu.com/community/PinningHowto.


3
2018-05-16 07:42