Tenho o seguinte pin /etc/apt/preferences.d/linux-image.pref
:
Package: linux-image-amd64 linux-headers-amd64
Pin: release a=oldoldstable
Pin-Priority: 800
apt-cache policy
mostra os pinos conforme o esperado:
$ apt-cache policy | grep "Pinned" -A 2
Pinned packages:
linux-image-amd64 -> 4.19+105+deb10u16 with priority 800
linux-headers-amd64 -> 4.19+105+deb10u16 with priority 800
No entanto, apt list --upgradable
gostaria de atualizar para buster-backports
with priority 200
. O que não é desejado neste caso:
linux-image-amd64/buster-backports 5.10.127-2~bpo10+1 amd64 [upgradable from: 4.19+105+deb10u22]
oldoldstable
tem prioridade600
buster-backports
tem prioridade200
600 https://archive.debian.org/debian buster/main amd64 Packages
release v=10.13,o=Debian,a=oldoldstable,n=buster,l=Debian,c=main,b=amd64
origin archive.debian.org
200 http://archive.debian.org/debian buster-backports/main amd64 Packages
release o=Debian Backports,a=buster-backports,n=buster-backports,l=Debian Backports,c=main,b=amd64
origin archive.debian.org
É bem estranho que o comando apt upgrade
atualize pacotes fixados. Enquanto apt-get upgrade
mantém os pacotes do kernel.
$ apt policy linux-image-amd64
linux-image-amd64:
Installed: 4.19+105+deb10u22
Candidate: 5.10.127-2~bpo10+1
Version table:
5.10.127-2~bpo10+1 200
200 http://archive.debian.org/debian buster-backports/main amd64 Packages
*** 4.19+105+deb10u22 100
100 /var/lib/dpkg/status
4.19+105+deb10u16 800
600 https://archive.debian.org/debian buster/main amd64 Packages
O problema aqui é que a versão instalada do pacote (4.19+105+deb10u22) não está disponível em nenhum repositório configurado. Dadas suas pin-priorities, a versão disponível em backports vence, porque uma prioridade entre 100 (incluída) e 500 (excluída)
(veja
man apt_preferences
). Assim, a versão 5.10.127-2~bpo10+1 é uma candidata porque a versão instalada é mais antiga e não está disponível em nenhuma outra distribuição. A versão 4.19+105+deb10u16 é ignorada porque é mais antiga que a versão instalada e sua prioridade de pin não permite downgrades.Para corrigir isso, você pode:
debian-security
, aparentemente) e restaure essa configuração:Conforme mencionado na resposta de JdeHaan , você também pode colocar um hold no pacote — como você corretamente aponta, isso forçará a versão instalada a ser mantida, o que é menos flexível do que o que você poderia fazer com pin-priorities; no entanto, como o kernel 4.19 usado no Debian 10 não está mais recebendo atualizações ( mesmo no ELTS ), isso não fará diferença aqui, desde que você queira evitar kernels retroportados. (Essa falta de atualizações também significa que, de uma perspectiva de segurança, você pode querer reavaliar suas opções.)
Talvez você possa usar 'apt-mark' para 'segurar' um pacote em vez de 'fixá-lo'.
Ver
e