無人アップグレードは優先度を無視します

無人アップグレードは優先度を無視します

unattended-upgradesで設定された優先順位に従っていないようです/etc/apt/preferences

私は、無人アップグレードが設定されている Debian ファイル サーバーを管理しています。現在、テスト版のバージョンがrcloneインストールされています。rclone で更新すると、aptテスト版から更新されます。ただし、実行時にunattended-upgradesテスト リポジトリの更新は無視されます。

この動作は、無人アップグレードで予想される動作ですか? rclone でテスト リポジトリの更新を追跡したいと思います。出力の詳細とシステム セットアップを以下にまとめます。

実行後の出力は次unattended-upgrade --dry-run --debugのようになります。

Enabled logging to syslog via daemon facility
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: ['origin=Debian,codename=stretch,archive=stable',
  'origin=Debian,codename=stretch,archive=testing',
  'origin=Debian,codename=stretch,label=Debian-Security',
  'origin=Debian Backports,codename=stretch-backports,label=Debian Backports',
  'origin=Syncthing,archive=syncthing,codename=debian,label=Syncthing,component=stable',
  'origin=www.geogebra.net,codename=stable,component=main']
ignoring ver 'rclone=1.45-2+b21' with priority < 0
adjusting candidate version: 'rclone=1.35-1+b3'
pkgs that look like they should be upgraded: 
Fetched 0 B in 0s (0 B/s)                                                       
fetch.run() result: 0
blacklist: []
whitelist: []
No packages found that can be upgraded unattended and no pending auto-removals

設定ファイルは次の/etc/apt/preferencesとおりです:

Package: *
Pin: release l=Debian-Security
Pin-Priority: 1000

Package: rclone
Pin: release a=testing
Pin-Priority: 950

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=stretch-backports
Pin-Priority: 800

Package: *
Pin: release a=testing
Pin-Priority: -1

ファイルは/etc/apt/sources.list次のとおりです:

deb http://ftp.uk.debian.org/debian/ stretch main non-free contrib
deb-src http://ftp.uk.debian.org/debian/ stretch main non-free contrib

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
deb http://ftp.uk.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ stretch-updates main contrib non-free

# stretch-backports, previously on backports.debian.org
deb http://ftp.uk.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ stretch-backports main contrib non-free

# testing 
deb http://ftp.uk.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ testing main contrib non-free

のオリジンは/etc/apt/apt.conf.d/50unattended-upgrades次のように構成されます。

Unattended-Upgrade::Origins-Pattern {
  "origin=${distro_id},codename=${distro_codename},archive=stable";
  "origin=${distro_id},codename=${distro_codename},archive=testing";
  "origin=${distro_id},codename=${distro_codename},label=Debian-Security";
  "origin=${distro_id} Backports,codename=${distro_codename}-backports,label=Debian Backports";
  "origin=Syncthing,archive=syncthing,codename=debian,label=Syncthing,component=stable";
  "origin=www.geogebra.net,codename=stable,component=main";
};

答え1

テストには適切なコード名を設定する必要があります。

Unattended-Upgrade::Origins-Pattern {
    "origin=${distro_id},codename=${distro_codename},archive=stable";
    "origin=${distro_id},codename=buster,archive=testing";
    "origin=${distro_id},codename=${distro_codename},label=Debian-Security";
    "origin=${distro_id} Backports,codename=${distro_codename}-backports,label=Debian Backports";
    "origin=Syncthing,archive=syncthing,codename=debian,label=Syncthing,component=stable";
    "origin=www.geogebra.net,codename=stable,component=main";

};

関連情報