Я хотел обновить производственную систему (сначала через стадию) до 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
делать при установке «авто»
и где я могу найти дополнительную информацию о настройках и их соответствующем эффекте?
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.