Unattended-Upgrade::Origins-Pattern匹配"all"规则及全源配置咨询
问题1:哪些Unattended-Upgrade::Origins-Pattern规则会匹配所有源?
如果要让Unattended-Upgrade匹配所有源的包,你可以用下面几种有效的规则模式:
"*";:这是最简洁直接的写法,直接匹配所有来源、所有发行版代号、所有站点的包"origin=*";:匹配任意发布者(origin)的源,不管这个源是来自官方还是第三方"site=*";:匹配任意站点域名下的源"codename=*";:匹配当前系统所有发行版代号对应的源
实际使用中,"*";是最常用的,因为它能无差别覆盖所有可能的源,不需要拆分条件。
问题2:如何允许所有源(包括/etc/apt/sources.list.d/里的)?
你说设置空字符串报错是正常的——Unattended-Upgrade::Origins-Pattern要求必须有至少一个有效的匹配规则,不能是空列表。要允许所有源,正确的做法是替换成匹配所有的规则,而不是清空配置。
具体操作步骤:
- 用编辑器打开配置文件,比如:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades - 找到
Unattended-Upgrade::Origins-Pattern的配置块,把里面原有规则全部替换成:Unattended-Upgrade::Origins-Pattern { "*"; }; - 保存退出后,建议用测试命令验证配置是否生效:
这个命令会模拟升级流程,不会实际改动系统,你可以从输出里看到是否所有源的包都被纳入升级范围了。sudo unattended-upgrade --dry-run
另外提醒一下:如果之前配置了Unattended-Upgrade::Package-Blacklist(包黑名单),这些规则依然会生效,所以如果有不想自动升级的包,还是可以通过黑名单排除。
内容的提问来源于stack exchange,提问作者lofidevops
相关产品推荐
相关产品推荐

