Установите ядро Debian Backports автоматически
У меня есть следующие закрепления:
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
Так что я не понимаю ошибку. Что я делаю неправильно?
Я пытаюсь использовать puppet для обновления всех компьютеров Wheezy до ядра backports (запланирована полоса перезагрузки), поэтому я хочу решить ее правильно. Я мог бы вручную войти на все серверы для запуска:
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.
3 ответа
Проверьте, от чего зависит этот пакет, и что нужно этим зависимостям. Например, я вижу это для моей машины:
#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
Проверьте, взяты ли зависимости из бэкпортов.
sudo apt-get install -t wheezy-backports linux-image-amd64
это не удобно, я знаю.. но это правильный способ делать вещи без проблем в будущем (ИМХО конечно)
Измените верхнюю строку в ваших настройках на
Package: linux-image-*
Бежать
apt-get update
Попробуйте установить снова. Если вы все еще получаете ошибку, проверьте
aptitude why-not linux-image-3.16.0-0.bpo.4-amd64