PPA에 더 높은 우선 순위 할당


13

다른 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

누구든지 내가하려는 일을 달성하는 방법을 알고 있습니까?

답변:


15

다음은 예입니다 /etc/apt/preferences

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

apt-get update파일을 만든 후 실행해야 할 수도 있습니다 .


/etc/apt/preferences.d/는 있지만 빈 디렉토리 인 13.etc에는 / etc / apt / preferences가 없습니다.
또 다른 사용자

1
이 파일은 단지 그것을 만들 재고하지 않습니다
GM-스크립트 작가-62850

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.