apt_preferences 説明が必要です。

apt_preferences 説明が必要です。

質問:

# apt-get install libssl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libssl-dev : Depends: libssl1.0.0 (= 1.0.1t-1+deb8u6) but 1.0.2k-1~bpo8+1 is to be installed
              Recommends: libssl-doc but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

今回のアンケート調査:

# apt-cache policy libssl-dev
libssl-dev:
  Installed: (none)
  Candidate: 1.0.1t-1+deb8u6
  Version table:
     1.0.2k-1~bpo8+1 0
        400 http://httpredir.debian.org/debian/ jessie-backports/main amd64 Packages
     1.0.1t-1+deb8u6 0
        900 http://security.debian.org/ jessie/updates/main amd64 Packages
     1.0.1t-1+deb8u5 0
        900 http://httpredir.debian.org/debian/ jessie/main amd64 Packages

100<=P<500他のディストリビューションに属する利用可能なバージョンがない場合、またはインストールされているバージョンが最新のバージョンでない限り、バージョンがインストールされます。

500<=P<990ターゲットバージョンに属する利用可能なバージョンがない場合、またはインストールされているバージョンが最新バージョンでない限り、バージョンがインストールされます。

詳細:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie

# cat /etc/apt/preferences
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=jessie-backports
Pin-Priority: 400

apt-getで変更しようとしましたが、私の優先順位が正しく固定されているようですjessie-backorts。なぜですか?

編集する

# apt-cache policy libssl1.0.0
libssl1.0.0:
  Installed: 1.0.2k-1~bpo8+1
  Candidate: 1.0.2k-1~bpo8+1
  Version table:
 *** 1.0.2k-1~bpo8+1 0
        100 /var/lib/dpkg/status
     1.0.1t-1+deb8u6 0
        990 http://security.debian.org/ jessie/updates/main amd64 Packages
     1.0.1t-1+deb8u5 0
        990 http://httpredir.debian.org/debian/ jessie/main amd64 Packages

今問題を理解したようです。

答え1

デフォルトでは、バックポートファミリを固定しないでください。これは、明示的なターゲットを持つインストールまたはバックポートバージョンへのアップグレードでのみ使用されるように構成されています。/etc/apt/preferencesファイルを完全に削除することをお勧めします。

とにかく、あなたのエラーは固定には関係ありませんが、libssl1.0.0バックポートされたインストールバージョンが原因で発生します。注:リリース候補は、バックポートされたリリースよりも信頼性の高いリリースの優先順位をapt-cache policy libssl-dev示すために提供されています。apt-getあなたが受け取ったエラーメッセージは次のとおりです。

The following packages have unmet dependencies:
 libssl-dev : Depends: libssl1.0.0 (= 1.0.1t-1+deb8u6) but 1.0.2k-1~bpo8+1 is to be installed
              Recommends: libssl-doc but it is not going to be installed

これは1.0.1t-1 + deb8u6(したがって同じバージョンに依存しています)をインストールしようとしていますが、検討apt-getしているバージョンはすでにインストールされているバージョンなので、1.0.2k-1〜bpo8 + 1であることを示しています。 ...libssl-devlibssl1.0.0libssl1.0.0

関連情報