Unattended-Upgrade::DevRelease "auto"; 的作用是什么?

0xC*_*22L 4 updates apt unattended-upgrades

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

但是,查看所有配置更改(查看 diffetckeeper和 match的组合debsums -ce),我注意到/etc/apt/apt.conf.d/50unattended-upgrades现在有以下行:

Unattended-Upgrade::DevRelease "auto";
Run Code Online (Sandbox Code Playgroud)

这之前设置为:

Unattended-Upgrade::DevRelease "false";
Run Code Online (Sandbox Code Playgroud)

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

我看着的手册页apt.confapt_preferencesapt-configunattended-upgrade,但无法找到该配置选项的说明。这个社区帮助页面也没有列出选项。AskUbuntu 上的这个问题是唯一一个引用此特定选项的问题,但也没有回答我的问题。

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

mur*_*uru 6

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

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)
Run Code Online (Sandbox Code Playgroud)

它的可读性很强。本质上,此选项仅影响当前开发版本(又名Ubuntu+1)的用户(现在是 Ubuntu 20.10,“Groovy Gorilla”)。如果您使用的是开发版本,则在以下情况下可以进行无人值守升级:

  • DevReleaseauto并且您在发布日期的窗口内(由 设置DEVEL_UNTIL_RELEASE,似乎是 21 天)
  • DevReleaseTrue

如果您不是在开发版本上,如果在正式发布后您在 20.04 上就不是,那么此选项在任何情况下都没有区别。