web-dev-qa-db-ja.com

Debianバックポートカーネルを自動的にインストールする

次のピンニングセットを持っています。

Package: linux-image-AMD64
Pin: release a=wheezy-backports
Pin-Priority: 1001

Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499

次のエラーが発生します。

$ Sudo apt-get install linux-image-AMD64
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:
 linux-image-AMD64 : Depends: linux-image-3.16.0-0.bpo.4-AMD64 but it is not going to   be installed
E: Unable to correct problems, you have held broken packages.

ポリシーは正しいようです:

$ apt-cache policy linux-image-AMD64
linux-image-AMD64:
  Installed: 3.2+46
  Candidate: 3.16+63~bpo70+1
  Package pin: 3.16+63~bpo70+1
  Version table:
     3.16+63~bpo70+1 1001
        499 http://ftp.nl.debian.org/debian/ wheezy-backports/main AMD64 Packages
 *** 3.2+46 1001
        500 http://ftp.nl.debian.org/debian/ wheezy/main AMD64 Packages
        100 /var/lib/dpkg/status

$ apt-cache policy linux-image-3.16.0-0.bpo.4-AMD64
linux-image-3.16.0-0.bpo.4-AMD64:
  Installed: (none)
  Candidate: 3.16.7-ckt4-3~bpo70+1
  Version table:
     3.16.7-ckt4-3~bpo70+1 0
        499 http://ftp.nl.debian.org/debian/ wheezy-backports/main AMD64 Packages

したがって、エラーは発生しません。何が悪いのですか?

パペットを使用してすべてのWheezyマシンをバックポートカーネルにアップグレードしようとしています(再起動の予定が計画されています)。そのため、正しく解決したいと考えています。すべてのサーバーに手動でログインして実行できます。

Sudo apt-get install -t wheezy-backports linux-image-AMD64

これは機能しますが、それほど便利ではありません。

更新

要求通り:

/etc/apt/preferences.d$ cat linux-image 
Package: linux-image-*
Pin: release a=wheezy-backports
Pin-Priority: 1001

Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499

/etc/apt/preferences.d$ Sudo apt-get update
Hit http://debian.kumina.nl wheezy-kumina Release.gpg
.
.
.
Reading package lists... Done
/etc/apt/preferences.d$ Sudo apt-get install linux-image-AMD64
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:
 linux-image-AMD64 : Depends: linux-image-3.16.0-0.bpo.4-AMD64 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
/etc/apt/preferences.d$ aptitude why-not linux-image-3.16.0-0.bpo.4-AMD64
Unable to find a reason to remove linux-image-3.16.0-0.bpo.4-AMD64.
8
Tim Stoop

そのパッケージが依存しているもの、およびそれらの依存関係に必要なものも確認してください。たとえば、私のマシンでは次のようになっています。

#apt-cache  show linux-image-AMD64
Package: linux-image-AMD64
<snip>
Depends: linux-image-3.16.0-4-AMD64

そして

# apt-cache  show linux-image-3.16.0-4-AMD64
Package: linux-image-3.16.0-4-AMD64
<snip>
Depends: kmod | module-init-tools, linux-base (>= 3~), debconf (>= 0.5) | debconf-2.0, initramfs-tools (>= 0.110~) | linux-initramfs-tool
Pre-Depends: debconf | debconf-2.0

依存関係がバックポートから取得されているかどうかも確認してください。

3
stimur

Sudo apt-get install -t wheezy-backports linux-image-AMD64

それは便利だとは思いませんが、将来的に問題を起こすことなく物事を行うには正しい方法です(もちろん、私見)

5
drAlberT

設定の一番上の行を

Package: linux-image-*

走る

apt-get update

もう一度インストールしてみてください。それでもエラーが発生する場合は、確認してください

aptitude why-not linux-image-3.16.0-0.bpo.4-AMD64
1
Cedric Knight