apt-getがターゲットパラメータを無視するのはなぜですか?

apt-getがターゲットパラメータを無視するのはなぜですか?

私のDebianシステムはデフォルトで不安定なパッケージをインストールするように設定されています。

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

しかし、バージョン1.15automakeから抽出したいと思います。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もっと学ぶ。

関連情報