Ich versuche herauszufinden, wie einer PPA eine höhere Priorität als einer anderen PPA zugewiesen werden kann. Ich habe ein paar Antworten in diesem Forum durchgesehen, aber keine davon löst mein Problem.
Wir haben zwei PPA-Quellen auf einigen unserer Server, in die wir separate Dateien stecken /etc/apt/sources.list.d
. Einige dieser Repos bieten die gleichen Pakete (in Bezug auf Namen), aber unterschiedliche Versionen und möglicherweise unterschiedliche Binärdateien. Gibt es eine Möglichkeit, wie wir ein Repo über ein anderes PRIORISIEREN können?
Ich habe das Tutorial zu apt_preferences gelesen, aber es könnte nicht dunkler sein und ich habe keine Antwort auf meine Frage gefunden. Hier ist die Situation. WIR haben die folgenden Quellen:
$ 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
Wo der nginx-source.list
Inhalt ist:
deb http://ppa.launchpad.net/nginx/stable/ubuntu precise main
und ruby-ng-experimental-source.list
Inhalt ist:
deb http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main
Beide Quellen bieten ein nginx-vollständiges Paket mit verschiedenen Versionen usw. Wenn ich die Prioritäten ruby-ng-experimental-source.list aufführe, wird nginx-full von diesem Repository aus installiert:
$ 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
Wie priorisiere ich das in nginx-source.list aufgeführte Repo vor dem Repo, das jetzt oben auf der Liste steht? Ich habe so etwas ausprobiert:
$ 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
Aber das hat die Prioritäten beider Quellen auf die gleiche Zahl geändert - oder so ähnlich? Dies hat also NICHT die Prioritäten geändert und Nginx-Full wird noch von der Brightbox PPA installiert
$ 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
Hat jemand eine Idee, wie er das erreichen kann, was ich versuche?
quelle
Kurze Antwort: Setzen Sie die Pinning-Priorität auf weniger als 0 und setzen Sie o = LP-PPA- *, z
Zitat aus apt_preferences-manpage:
Weitere Informationen: http://manpages.ubuntu.com/manpages/raring/en/man5/apt_preferences.5.html und https://help.ubuntu.com/community/PinningHowto .
quelle