ฉันพยายามหาวิธีกำหนดลำดับความสำคัญสูงกว่าให้ PPA หนึ่งกับ PPA อื่น ฉันได้ดูคำตอบมากมายในฟอรัมนี้ แต่ไม่มีใครแก้ปัญหาของฉันได้
เรามีแหล่งข้อมูล PPA สองแหล่งบนเซิร์ฟเวอร์ของเราบางแห่งซึ่งเราแยกเป็นไฟล์/etc/apt/sources.list.d
ต่างๆ บางส่วนของ repos เหล่านี้มีแพ็คเกจเดียวกัน (ในแง่ของชื่อ) แต่รุ่นที่แตกต่างกันและอาจเป็นไบนารีที่แตกต่างกัน มีวิธีที่เราสามารถให้ความสำคัญกับ repo มากกว่าอีกคนหนึ่งได้หรือไม่?
ฉันอ่านบทช่วยสอนapt_preferencesแต่ไม่สามารถคลุมเครือมากขึ้นและไม่พบคำตอบสำหรับคำถามของฉัน นี่คือสถานการณ์ เรามีแหล่งข้อมูลต่อไปนี้:
$ 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.list
เนื้อหาอยู่ที่ไหน:
deb http://ppa.launchpad.net/nginx/stable/ubuntu precise main
และruby-ng-experimental-source.list
เนื้อหาคือ:
deb http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main
แหล่งที่มาทั้งสองนี้ให้แพคเกจแบบเต็ม nginx ของรุ่นที่แตกต่างกันเป็นต้นเมื่อฉันแสดงรายการลำดับความสำคัญ ruby-ng-experiment-source.list อยู่ด้านบนของเอาต์พุตดังนั้นจึงติดตั้ง nginx-full จาก 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
ฉันจะจัดลำดับความสำคัญของ repo ที่อยู่ใน nginx-source.list ได้อย่างไรซึ่งอยู่ด้านบนสุดของรายการตอนนี้ ฉันลองทำสิ่งนี้:
$ 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
แต่นั่นเปลี่ยนลำดับความสำคัญของแหล่งที่มาทั้งสองเป็นหมายเลขเดียวกัน - หรืออย่างนั้น ดังนั้นสิ่งนี้จึงไม่เปลี่ยนแปลงลำดับความสำคัญและ nginx-full ยังคงถูกติดตั้งในรูปแบบ brightbox PPA
$ 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
ใครมีความคิดวิธีการบรรลุสิ่งที่ฉันพยายามทำ