Saya mencoba mencari cara menetapkan prioritas yang lebih tinggi untuk satu PPA dibandingkan PPA lainnya. Saya telah melihat banyak jawaban di forum ini tetapi tidak satupun dari mereka menyelesaikan masalah saya.
Kami memiliki dua sumber PPA di beberapa server kami yang kami tempati ke dalam file terpisah /etc/apt/sources.list.d
. Beberapa repo ini menyediakan paket yang sama (dalam hal nama) tetapi versi yang berbeda dan mungkin binari yang berbeda. Apakah ada cara bagaimana kita bisa MEMPRIORITASKAN satu repo di atas yang lain?
Saya membaca tutorial apt_preferences tapi tidak bisa lebih jelas dan tidak menemukan jawaban untuk pertanyaan saya. Inilah situasinya. KAMI memiliki 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
di mana nginx-source.list
konten:
deb http://ppa.launchpad.net/nginx/stable/ubuntu precise main
dan ruby-ng-experimental-source.list
isinya adalah:
deb http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main
Kedua sumber ini menyediakan paket nginx-lengkap dari versi yang berbeda dll. Ketika saya daftar prioritas ruby-ng-eksper-source.list berada di atas keluaran maka nginx-lengkap 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 daripada yang ada di daftar paling atas 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 kedua sumber menjadi jumlah yang sama - atau sesuatu seperti itu? Jadi ini TIDAK mengubah prioritas dan nginx-full masih diinstal dari BPA 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 bagaimana mencapai apa yang saya coba lakukan?
sumber
Jawaban singkat: Tetapkan prioritas penyematan ke kurang dari 0 dan atur o = LP-PPA- *, mis
Kutipan dari apt_preferences-manpage:
Informasi lebih lanjut: http://manpages.ubuntu.com/manpages/raring/en/man5/apt_preferences.5.html dan https://help.ubuntu.com/community/PinningHowto .
sumber