안정적인 데비안에서는 불안정한 apt-pinning이 -1로 설정되었습니다.

안정적인 데비안에서는 불안정한 apt-pinning이 -1로 설정되었습니다.

데비안 8.1에서는 다음 /etc/apt/sources.list과 같습니다:

#### stable  #########
deb http://httpredir.debian.org/debian stable main contrib non-free
deb-src http://httpredir.debian.org/debian stable main contrib non-free
deb http://httpredir.debian.org/debian stable-backports main contrib non-free
deb-src http://httpredir.debian.org/debian stable-backports main contrib non-free
deb http://httpredir.debian.org/debian stable-updates main contrib non-free
deb-src http://httpredir.debian.org/debian stable-updates main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
deb-src http://security.debian.org stable/updates main contrib non-free
#### unstable #########
deb http://httpredir.debian.org/debian unstable main contrib non-free
deb-src http://httpredir.debian.org/debian unstable main contrib non-free

이것이 내 모습입니다 /etc/apt/preferences.

Package: *
Pin: release a=unstable
Pin-Priority: -1

$ sudo apt-get -y -t unstable install foo제 질문은 foo 1.9.2를 설치하고 향후 안정 채널에 최신 버전(예: 1.9.5)을 얻으면 어떻게 됩니까?입니다. 이 명령을 실행하면 내 애플리케이션(및 모든 종속성)이 업데이트됩니까?

$ apt-get -y update && time apt-get -y dist-upgrade

고쳐 쓰다:

nginx 홈페이지에서 권장하는 설치 방법입니다. 그러면 내가 했던 것과 같은 방식으로 불안정한 소스에서 두 패키지가 모두 업그레이드됩니다.

/etc/apt/sources.list.d/nginx.list

deb http://nginx.org/packages/mainline/debian/ jessie nginx
deb-src http://nginx.org/packages/mainline/debian/ jessie nginx

/etc/apt/기본 설정

Package: *
Pin: release a=nginx
Pin-Priority: 900

.

The following packages will be upgraded: libssl1.0.0 perl-base

libssl1.0.0 (1.0.2c-1 Debian:unstable [amd64])
perl-base [5.20.2-3+deb8u1] (5.20.2-6 Debian:unstable [amd64])

내 접근 방식을 통해 다른 응용 프로그램을 사용할 수 있는 기회가 생겼습니다. nginx 방법은 nginx와 추가해야 하는 기본 설정 파일만 업그레이드합니다.

답변1

이 핀을 사용하면 명시적으로 요청하지 않는 한 불안정한 버전이 설치되지 않습니다. 예를 들어 stable의 1.9.2가 현재 설치되어 있고 stable이 1.9.5인 경우 apt-get upgrade패키지는 업그레이드되지 않습니다.

안정 버전이 변경되면 설치된 버전보다 최신 버전이면 설치됩니다. 1.9.5가 안정되면 설치됩니다. 그러나 안정 버전이 1.8.1에서 1.8.2로 업그레이드되면 명시적으로 요청하지 않는 한 1.8.2가 시스템에 설치되지 않습니다. Apt는 설치된 버전의 우선순위에 관계없이 이전 버전의 우선순위가 1000보다 높지 않으면 자동으로 다운그레이드하지 않습니다. 패키지를 설치할 때 설치된 버전의 우선순위는 설치에 관계없이 500입니다.

종속성도 마찬가지입니다. 1.9.5가 불안정한 상태가 되고 명시적으로 설치를 요청하면 패키지는 1.9.5로 업그레이드되지만 설치된 패키지(또는 안정 릴리스의 패키지)가 종속성을 충족하는 경우에만 해당됩니다. 그렇지 않으면 apt가 해결되지 않은 종속성을 불평합니다. 최신 버전이 안정에 있는 다른 패키지의 최신 버전에 의존하는 경우 다른 패키지는 명시적인 요청에 의해서만 설치됩니다.

관련 정보