apt-get이 대상 매개변수를 무시하는 이유는 무엇입니까?

apt-get이 대상 매개변수를 무시하는 이유는 무엇입니까?

내 데비안 시스템은 기본적으로 불안정한 패키지를 설치하도록 설정되어 있습니다.

$ cat /etc/apt/apt.conf.d/99defaultrelease 
APT::Default-Release "unstable";

그러나 버전 1.15 automake에서 추출 하고 싶습니다 .stable

$ apt-cache policy automake
automake:
  Installed: (none)
  Candidate: 1:1.16.1-4
  Version table:
     1:1.16.1-4 990
        500 http://deb.debian.org/debian testing/main amd64 Packages
        500 http://deb.debian.org/debian testing/main i386 Packages
        990 http://deb.debian.org/debian unstable/main amd64 Packages
        990 http://deb.debian.org/debian unstable/main i386 Packages
        990 http://deb.debian.org/debian sid/main amd64 Packages
        990 http://deb.debian.org/debian sid/main i386 Packages
     1:1.15-6 500
        500 http://deb.debian.org/debian stable/main amd64 Packages
        500 http://deb.debian.org/debian stable/main i386 Packages

automake/stable하지만 설치 또는 automake를 사용하라고 지시할 때마다 -t stable해당 apt부분은 무시됩니다.

$ apt-get install automake -t stable --dry-run
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  autoconf autotools-dev
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc libtool
The following NEW packages will be installed:
  autoconf automake autotools-dev
0 upgraded, 3 newly installed, 0 to remove and 125 not upgraded.
Inst autoconf (2.69-11 Debian:testing, Debian:unstable [all])
Inst autotools-dev (20180224.1 Debian:testing, Debian:unstable [all])
Inst automake (1:1.16.1-4 Debian:testing, Debian:unstable [all])
Conf autoconf (2.69-11 Debian:testing, Debian:unstable [all])
Conf autotools-dev (20180224.1 Debian:testing, Debian:unstable [all])
Conf automake (1:1.16.1-4 Debian:testing, Debian:unstable [all])

다음과 같이 패키지 버전을 지정할 수 있습니다.

apt-get install automake=1:1.15-6

이렇게 하면 내 문제가 해결될 것입니다. 하지만 종속성(autoconf, autotools-dev 등)은 여전히 ​​불안정한 버전에서 설치되므로 약간 걱정스럽습니다.

어쨌든, 이 경우 apt가 주어진 대상을 무시하는 이유는 무엇입니까?

apt또한 - 이것은 질문이 아닙니다. 만약 이 동작이 "설계에 따른" 것이라면 정보 알림이 인쇄될 수 있다면 좋을 것이라고 생각합니다.

편집하다

이는 출력입니다 apt -t stable policy automake(참고:뒤쪽에설치됨 automake)

$ apt -t stable policy automake
automake:
  Installed: 1:1.16.1-4
  Candidate: 1:1.16.1-4
  Version table:
 *** 1:1.16.1-4 1001
        500 http://deb.debian.org/debian testing/main amd64 Packages
        500 http://deb.debian.org/debian testing/main i386 Packages
       1001 http://deb.debian.org/debian unstable/main amd64 Packages
       1001 http://deb.debian.org/debian unstable/main i386 Packages
       1001 http://deb.debian.org/debian sid/main amd64 Packages
       1001 http://deb.debian.org/debian sid/main i386 Packages
        100 /var/lib/dpkg/status
     1:1.15-6 990
        990 http://deb.debian.org/debian stable/main amd64 Packages
        990 http://deb.debian.org/debian stable/main i386 Packages

이는 우선순위 문제일 수 있으므로 다음과 같은 사항도 관련될 수 있습니다.

$ cat /etc/apt/preferences
Package: *
Pin: release a=unstable
Pin-Priority: 1001

답변1

당신이 보는 행동은 당신이 정의한 우선 순위에서 비롯됩니다. 기본 버전을 설정하려면 Default-Release또는를 사용하여 -t해당 버전의 우선순위를 990으로 설정하십시오. 불안정한 우선순위 1001은 항상 이보다 높은 우선순위를 갖습니다.

바라보다man apt_preferences더 알아보기.

관련 정보