Unattended-Upgrade::DevRelease "auto"; 的效果是什么?

Unattended-Upgrade::DevRelease "auto"; 的效果是什么?

我想将生产系统(首先通过暂存)升级到 20.04。备份和恢复选项已准备就绪。一切都按预期顺利进行。我这样做了do-release-upgrade -d,因为我不想等到第一个点发布(20.04.1)。

然而,检查所有配置更改(结合查看差异etckeeper和匹配debsums -ce),我注意到/etc/apt/apt.conf.d/50unattended-upgrades现在有这一行:

Unattended-Upgrade::DevRelease "auto";

先前设置为:

Unattended-Upgrade::DevRelease "false";

所以我想知道这是否符合我想要的配置。我希望能够unattended-upgrades像以前一样使用,但我绝对不想要 LTS 版本以外的任何东西。

apt.conf我查看了、apt_preferencesapt-config的手册页unattended-upgrade,但找不到该配置选项的描述。此社区帮助页面也没有列出选项。AskUbuntu 上的这个问题是唯一引用此特定选项的人,但也没有回答我的问题。

问:Unattended-Upgrade::DevRelease那么设置为 时会做什么"auto"?在哪里可以找到有关设置及其各自效果的更多信息?

答案1

文档似乎很少,所以我看了一下代码

if apt_pkg.config.find("Unattended-Upgrade::DevRelease") == "auto":
    # snip
        if ((devel.series == DISTRO_CODENAME
             and devel.release is not None
             and devel.release - date.today() > DEVEL_UNTIL_RELEASE)):
            syslog.syslog((_("Not running on this development "
                             "release before %s") %
                          (devel.release - DEVEL_UNTIL_RELEASE
                           - datetime.timedelta(days=1))))
            logging.warning(_("Not running on this development "
                              "release before %s") %
                            (devel.release - DEVEL_UNTIL_RELEASE
                             - datetime.timedelta(days=1)))
            return UnattendedUpgradesResult(True)

            logging.debug("Running on the development release")
elif "(development branch)" in DISTRO_DESC and not\
        apt_pkg.config.find_b("Unattended-Upgrade::DevRelease", True):
    syslog.syslog(_("Not running on the development release."))
    logging.info(_("Not running on the development release."))
    return UnattendedUpgradesResult(True)

它非常易读。本质上,此选项仅影响当前开发版本的用户(又称乌班图+1)(目前,这是 Ubuntu 20.10,“Groovy Gorilla”)。如果您使用的是开发版本,则在以下情况下可启用无人值守升级:

  • DevRelease并且auto你处于发布日期窗口内(由DEVEL_UNTIL_RELEASE,好像是21天)
  • DevReleaseTrue

如果您没有使用开发版本(即在正式发布后使用的 20.04 版本),那么此选项没有任何区别。

相关内容