操作系统:LMDE 5 = Debian 11 Bullseye
为了保持系统整洁,我尽可能使用单独的文件来覆盖原始发行版/开发人员配置文件。这也可以防止开发人员更改原始配置时出现问题并保证我的设置安全。ETC...
对于无人值守升级,原始配置/etc/apt/apt.conf.d/50unattended-upgrades
:
Unattended-Upgrade::Origins-Pattern {
// "origin=Debian,codename=${distro_codename}-updates";
// "origin=Debian,codename=${distro_codename}-proposed-updates";
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
我将其替换为文件51无人值守升级:
Unattended-Upgrade::Origins-Pattern {
"site=myrepo.example.com"
// "origin=Debian,codename=${distro_codename}-updates";
// "origin=Debian,codename=${distro_codename}-proposed-updates";
// "origin=Debian,codename=${distro_codename},label=Debian";
// "origin=Debian,codename=${distro_codename},label=Debian-Security";
// "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
我认为整个原始部分将被我的部分替换,UU只会更新myrepo.example.com
。但事实证明,所有 4 个存储库均处于活动状态:
"site=myrepo.example.com"
"origin=Debian,codename=${distro_codename},label=Debian"
"origin=Debian,codename=${distro_codename},label=Debian-Security"
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security"
如何禁用所有其他存储库并仅使 myrepo 处于活动状态而不更改原始存储库50unattended-upgrades
?
配置文件
/etc/apt/apt.conf.d/50unattended-upgrades
不直接是包的一部分unattended-upgrades
。该文件的升级由其安装脚本通过帮助程序工具进行管理(主要dpkg-maintscript-helper
是ucf --three-way --debconf-ok
如文件中所示postinst
):除其他外,它会在用新的维护者版本替换该文件之前检查该文件是否已更改(并且通常会提示此信息)默认保留更改后的版本)。原始参考安全地存储在/usr/share/unattended-upgrades/50unattended-upgrades
。说了这么多,选项可以是:
直接更改
50unattended-upgrades
:如果需要,Debian 将尊重更改并提示要做什么(初始默认为“保留更改版本”)。将其复制到另一个文件 (
51unattended-upgrades
) 并清空该文件(但保留它)。如上所述,Debian 将尊重更改等。或者有一个特定的 APT 相关方式来进行 APT 配置:
使用特定的
apt.conf(5)
语法忘记以前的树,然后用新的值替换它。这记录在
apt.conf(5)
(强调我的):文档有点缺乏。通过试错测试(在
needrestart
包的配置上更容易完成),它是:#clear Some::Tree;
并且“指令只能在顶层完成”,即:必须在任何范围之外的完全限定范围上调用它,而不是在一个范围内应用于子范围。所以
51unattended-upgrades
文件可以这样开始:在使用此文件中的后续内容重新填充列表之前,将列表重置为空列表。
50unattended-upgrades
然后就可以根本不需要更改,并且仍然使用其他默认设置(如果有)。无论使用方法 1、2 或 3,管理员仍然必须检查两个 Debian 发布版本(主要)升级之间出现哪些变化。例如:安全存储库 URL 模式在 Debian 10 和 Debian 11 之间发生了变化:从 Debian 10 升级到 Debian 11 后(重新)定义时必须手动调整
Unattended-Upgrade::Origins-Pattern
(不适用于 OP 的特定情况,该情况旨在也不允许安全升级)。