
Certbotexige que eu ative stretch-backports para sua instalação. Então depois de ter
$ cat /etc/apt/sources.list.d/backports.list
deb http://ftp.debian.org/debian stretch-backports main
e fazendo um sudo apt update
eu consigo
$ apt list --upgradable
Listing... Done
libpam-systemd/stretch-backports 237-3~bpo9+1 amd64 [upgradable from: 232-25+deb9u3]
libsystemd0/stretch-backports 237-3~bpo9+1 amd64 [upgradable from: 232-25+deb9u3]
libudev1/stretch-backports 237-3~bpo9+1 amd64 [upgradable from: 232-25+deb9u3]
systemd/stretch-backports 237-3~bpo9+1 amd64 [upgradable from: 232-25+deb9u3]
systemd-sysv/stretch-backports 237-3~bpo9+1 amd64 [upgradable from: 232-25+deb9u3]
udev/stretch-backports 237-3~bpo9+1 amd64 [upgradable from: 232-25+deb9u3]
$ sudo apt upgrade
[...]
The following packages have been kept back:
systemd-sysv
The following packages will be upgraded:
libpam-systemd libsystemd0 libudev1 systemd udev
5 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 4,795 kB of archives.
After this operation, 2,540 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Realmente parece que continuaria atualizando os pacotes mencionados.
No entanto, a partiresta resposta, Eu cito:
Pacotes de backports nunca são candidatos válidos para instalação para uma atualização dos repositórios principais, apenas para atualização de uma versão anterior de um pacote backportado; portanto, embora
apt list --upgradable
o liste como um pacote atualizável,apt upgrade
não o considerará para atualização. Você pode ver isso na saída deapt-cache policy
Então verificando
$ apt policy systemd
systemd:
Installed: 232-25+deb9u3
Candidate: 237-3~bpo9+1
Version table:
237-3~bpo9+1 100
100 http://ftp.debian.org/debian stretch-backports/main amd64 Packages
*** 232-25+deb9u3 100
100 /var/lib/dpkg/status
232-25+deb9u2 500
500 http://ftp.debian.org/debian stretch/main amd64 Packages
parece que a versão backports é válida para atualização.
Como posso habilitar a atualização de backports apenas para os pacotes que foram originalmente instalados a partir de backports (ou seja, via apt -t stretch-backports
)?
EDITAR: Meusources.list
$ cat /etc/apt/sources.list
deb http://ftp.debian.org/debian stretch main
deb-src http://ftp.debian.org/debian stretch main
deb http://security.debian.org/debian-security stretch/updates main contrib
deb-src http://security.debian.org/debian-security stretch/updates main contrib
Responder1
Você não precisa habilitar nada para impor o comportamento documentado para backports, mas precisa garantir que o sistema saiba de onde vêm os pacotes instalados. No seu caso, você tem uma versão systemd
from stretch/updates
, mas suas fontes não fazem referência a isso, então apt
fornece à versão instalada systemd
uma pontuação de 100 que é menor ou igual à pontuação de backports (veja sua apt policy
saída).
Para corrigir isso, verifique se você /etc/apt/sources.list
possui entradas para stretch-updates
, algo como
deb http://ftp.debian.org/debian stretch-updates main
deb-src http://ftp.debian.org/debian stretch-updates main
Você deverá então ver apt policy systemd
os seguintes resultados:
systemd:
Installed: 232-25+deb9u3
Candidate: 232-25+deb9u3
Version table:
237-3~bpo9+1 100
100 http://ftp.debian.org/debian stretch-backports/main amd64 Packages
*** 232-25+deb9u3 500
500 http://ftp.debian.org/debian stretch-updates/main amd64 Packages
100 /usr/var/lib/dpkg/status
232-25+deb9u2 500
500 http://ftp.debian.org/debian stretch/main amd64 Packages