다른 PPA보다 한 PPA에 더 높은 우선 순위를 할당하는 방법을 찾으려고합니다. 나는이 포럼에서 많은 답변을 보았지만 아무도 내 문제를 해결하지 못했습니다.
일부 서버에는 두 개의 PPA 소스가 있으며이 서버에서 별도의 파일을 고수합니다 /etc/apt/sources.list.d
. 이러한 repos 중 일부는 이름과 관련하여 동일한 패키지를 제공하지만 버전과 바이너리가 다를 수 있습니다. 우리가 한 리포지토리를 다른 리포지토리보다 우선시 할 수있는 방법이 있습니까?
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-full 패키지를 제공합니다. 우선 순위를 나열하면 ruby-ng-experimental-source.list가 출력 위에 있으므로 nginx-full이 해당 저장소에서 설치됩니다.
$ 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
nginx-source.list에 나열된 repo를 지금 목록의 맨 위에있는 저장소보다 우선 순위를 어떻게 지정합니까? 나는 이와 같은 것을 시도했다 :
$ 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
누구든지 내가하려는 일을 달성하는 방법을 알고 있습니까?