Tengo el siguiente conjunto de pinnings:
Package: linux-image-amd64
Pin: release a=wheezy-backports
Pin-Priority: 1001
Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499
Obtuve el siguiente error:
$ 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.
Las políticas parecen ser correctas:
$ 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
Entonces no entiendo el error. ¿Qué estoy haciendo mal?
Estoy tratando de usar Puppet para actualizar todas las máquinas Wheezy al kernel de backports (se planea una racha de reinicio), por eso quiero resolverlo correctamente. Podría iniciar sesión manualmente en todos los servidores para ejecutar:
sudo apt-get install -t wheezy-backports linux-image-amd64
Lo que funciona, pero no es tan conveniente.
ACTUALIZAR
De acuerdo a lo pedido:
/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.
debian
apt
debian-wheezy
package-management
pinning
Tim Stoop
fuente
fuente
Depends: kmod | module-init-tools, linux-base (>= 3~), debconf (>= 0.5) | debconf-2.0, initramfs-tools (>= 0.110~) | dracut (>= 0.40+1-1~) | linux-initramfs-tool
. Si usa,dracut
por ejemplo, Wheezy tiene versión020-2 0
, mientras que los backports sí040+1-1 0
. En este caso, también debe aumentar la prioridad del paquete Dracut que se tomará de los backports.-t wheezy-backports
. Pero esta aplicación también instalará todas las versiones más nuevas para las dependencias no instaladas de los backports, independientemente de si las versiones estables son suficientes o no. Si necesita instalar solo un número limitado y controlado de paquetes desde backports, necesita rastrear las dependencias y anclarlas manualmente. Si no te importa eso, sigue adelante y hazlo completo-t *backports
.no es conveniente, lo sé ... pero es la forma correcta de hacer las cosas sin tener problemas en el futuro (en mi humilde opinión, por supuesto)
fuente
-t
es dejar que el paquete instale sus dependencias .. "haga estrictamente lo que necesita" .. - es un enfoque de lista de tiempo: haga lo que sabe hacer cuando lo necesitaCambie la línea superior en sus preferencias a
correr
Intenta instalar de nuevo. Si aún recibe el error, verifique
fuente
aptitude
el solucionador de forma interactiva para identificar el problema. Tal vezlinux-*
para incluir otras dependencias? ¿Es factible agregarAPT::Default-Release "wheezy-backports";
temporalmente a la configuración?