Eu tenho o seguinte conjunto de pinos:
Package: linux-image-amd64
Pin: release a=wheezy-backports
Pin-Priority: 1001
Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499
Estou tendo o erro a seguir:
$ 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.
As políticas parecem estar corretas:
$ 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
Então eu não entendi o erro. O que estou fazendo errado?
Estou tentando usar o fantoche para atualizar todas as máquinas Wheezy para o kernel de backports (uma sequência de reinicialização está planejada), e é por isso que quero resolvê-lo corretamente. Eu poderia acessar manualmente todos os servidores para executar:
sudo apt-get install -t wheezy-backports linux-image-amd64
O que funciona, mas não é tão conveniente.
ATUALIZAR
Como 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
fonte
fonte
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
. Se você estiver usando,dracut
por exemplo, o Wheezy tem versão020-2 0
, enquanto os backports têm040+1-1 0
. Nesse caso, você precisa aumentar a prioridade do pacote Dracut para ser retirado dos backports também.-t wheezy-backports
. Mas essa aplicação também instalará todas as versões mais recentes para dependências não instaladas dos backports, independentemente do fato de as versões estáveis serem suficientes ou não. Se você precisar instalar apenas um número limitado e controlado de pacotes de backports, precisará rastrear as dependências e fixá-las manualmente. Se você não se importa com isso, com certeza vá em frente e faça o máximo-t *backports
.não é conveniente, eu sei .. mas é o caminho certo para fazer as coisas sem ter problemas no futuro (IMHO, é claro)
fonte
-t
é permitir que o pacote instale suas dependências .. "faça estritamente o que você precisa" .. - é uma abordagem de lista de tempo: faça o que você sabe fazer, quando necessárioAltere a linha superior em suas preferências para
Corre
Tente instalar novamente. Se você ainda receber o erro, verifique
fonte
aptitude
resolvedor interativamente para identificar o problema. Talvezlinux-*
para incluir outras dependências? É possível adicionarAPT::Default-Release "wheezy-backports";
temporariamente à configuração?