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

バックポートのロギング動作を適用するために何も有効にする必要はありませんが、インストールしたパッケージのソースをシステムが認識していることを確認する必要があります。あなたの場合にはsystemdバージョンがあります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

関連情報