Debian Stretch는 백포트를 활성화한 후 기본 패키지를 업그레이드하려고 합니다.

Debian Stretch는 백포트를 활성화한 후 기본 패키지를 업그레이드하려고 합니다.

인증서 로봇설치를 위해 스트레치 백포트를 활성화하라고 요청했습니다. 그래서 가지고 난 후에

$ cat /etc/apt/sources.list.d/backports.list
deb http://ftp.debian.org/debian stretch-backports main

그리고 sudo apt update내가 받은 대로 했어

$ 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]

언급된 패키지를 계속 업데이트할 것으로 보입니다.

그러나,이 답변, 나는 다음과 같이 인용합니다.

백포트의 패키지는 기본 저장소에서 업그레이드하기 위한 유효한 설치 후보가 아니며 백포트된 패키지의 이전 버전에서 업그레이드하는 데만 적합합니다. 따라서 apt list --upgradable업그레이드 가능한 패키지로 나열되어 있어도 apt upgrade고려되지 않습니다. 업그레이드. 출력에서 이를 확인할 수 있습니다.apt-cache policy

그러니까 확인해봐

$ 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

백포트된 버전이 업그레이드에 적합한 것 같습니다.

원래 백포트에서(예: 를 통해) 설치된 패키지에 대해서만 apt -t stretch-backports백포트에서 업그레이드를 활성화하는 방법은 무엇입니까?

편집하다: 내 것sources.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

답변1

백포트에 대한 로깅 동작을 적용하기 위해 아무것도 활성화할 필요는 없지만 설치한 패키지의 출처를 시스템이 알고 있는지 확인해야 합니다. 귀하의 경우에는 systemdfrom version 이 있지만 stretch/updates소스가 해당 버전을 참조하지 않으므로 apt설치된 버전에 systemd백포트 점수보다 작거나 같은 점수 100을 부여합니다(출력 참조 apt policy).

이 문제를 해결하려면 다음 과 같은 /etc/apt/sources.list항목이 있는지 확인하세요.stretch-updates

deb http://ftp.debian.org/debian stretch-updates main
deb-src http://ftp.debian.org/debian stretch-updates main

그러면 apt policy systemd다음 결과가 표시됩니다.

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

관련 정보