我编辑了该/etc/apt/apt.conf.d/50unattended-upgrades
文件(在 Ubuntu 22.04.3 上)并故意引入了一个错误:
Unattended-Upgrade::Automatic-Reboot-WithUsers "Falsed"; // instead of "false"
当我重新启动服务时,它显示为正在运行:
systemctl restart unattended-upgrades.service
systemctl status unattended-upgrades.service # shows "Active: active (running)"
如果我运行unattended-upgrades --dry-run
它就会退出而不会出现错误。
我如何确信配置文件是正确的并且将被使用?对于 nginx,有命令nginx -t
。有类似的东西吗unattended-upgrades
?
APT 配置格式本质上是一种分层树值存储,并且对键和值都很宽松。就密钥而言,它必须是这样的——没有允许的密钥的中央注册表。就值而言,在布尔值的当前实现中,字符串“no”、“false”、“without”、“off”和“disable”被解释为 false,字符串“yes”、“true”被解释为 false。 ”、“with”、“on”和“enable”被解释为 true。当配置解析器被要求提供布尔值时发现的任何其他值都会返回默认值(不是错误)。对于您的问题中引发的设置,默认值为 true。
由于上述原因,只要 APT 配置中涉及的所有配置文件在语法上都是有效的,与您的示例相同的错误将不会被检测到。
可以看到当前配置文件是如何解释的:
读取所有配置文件并转储其中找到的所有键以及关联的值。