Debian 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 は未解決の依存関係を文句にします。最新バージョンが安定にある他のパッケージの最新バージョンに依存している場合、他のパッケージは明示的な要求によってのみインストールされます。