Debian Stretch möchte Hauptpakete nach der Aktivierung von Backports aktualisieren

Debian Stretch möchte Hauptpakete nach der Aktivierung von Backports aktualisieren

Certboterfordert, dass ich Stretch-Backports für die Installation aktiviere. Nachdem ich

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

und mache sudo apt updateich ein

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

Es sieht wirklich so aus, als würde die Aktualisierung der genannten Pakete fortgesetzt.

Doch vondiese Antwort, Ich zitiere:

Pakete aus Backports sind nie gültige Installationskandidaten für ein Upgrade aus den Hauptrepositorys, sondern nur für ein Upgrade von einer früheren Version eines Backport-Pakets. Daher apt list --upgradablewird es zwar als aktualisierbares Paket aufgeführt, apt upgradeaber nicht für ein Upgrade berücksichtigt. Sie können dies in der Ausgabe von sehen:apt-cache policy

Überprüfen Sie also

$ 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

es scheint, als ob die Backports-Version für das Upgrade gültig ist.

Wie kann ich Upgrades von Backports nur für die Pakete aktivieren, die ursprünglich von Backports (also über apt -t stretch-backports) installiert wurden?

EDIT: Meinesources.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

Antwort1

Sie müssen nichts aktivieren, um das dokumentierte Verhalten für Backports zu erzwingen, aber Sie müssen sicherstellen, dass das System weiß, woher Ihre installierten Pakete stammen. In Ihrem Fall haben Sie eine Version von systemd, stretch/updatesaber Ihre Quellen verweisen nicht darauf, sodass aptdie installierte Version einen Wert von 100 erhält systemd, der kleiner oder gleich dem Backports-Wert ist (siehe Ihre apt policyAusgabe).

Um dies zu beheben, stellen Sie sicher, dass Ihr /etc/apt/sources.listEinträge für hat stretch-updates, etwa wie

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

Sie sollten dann apt policy systemddie folgenden Ergebnisse sehen:

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

verwandte Informationen