Каков эффект от 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";

И поэтому мне было интересно, соответствует ли это моей желаемой конфигурации. Я хотел бы иметь возможность использовать автоматические обновления , как и раньше, , но я определенно не хочу ничего, кроме выпусков LTS.

Я просматривал страницы руководства для apt.conf , apt_preferences , apt-config и автоматическое обновление , но не удалось найти описание этого параметра конфигурации. Эта страница помощи сообщества также не указала эту опцию. Этот вопрос здесь, в AskUbuntu , был единственным, ссылающимся на эту конкретную опцию, но также не отвечает на мой вопрос.

Q: Так что же делает Unattended-Upgrade :: DevRelease делать при установке «авто» и где я могу найти дополнительную информацию о настройках и их соответствующем эффекте?

1
задан 12 July 2020 в 13:11

1 ответ

The documentation seems sparse, so I had a look at the code:

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)

It's pretty readable. Essentially this option only affects users of the current development release (aka Ubuntu+1) (right now, that's Ubuntu 20.10, "Groovy Gorilla"). And if you're on a development release, this enables unattended upgrades if:

  • DevRelease is auto and you're within a window of the release date (set by DEVEL_UNTIL_RELEASE, seems to be 21 days)
  • DevRelease is True.

If you're not on a development release, which you're not if you're on 20.04 after it was officially released, then this option makes no difference one way or the other.

2
ответ дан 30 July 2020 в 22:08

Другие вопросы по тегам:

Похожие вопросы: