我想将生产系统(首先通过暂存)升级到 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_preferences
和apt-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天)DevRelease
是True
。
如果您没有使用开发版本(即在正式发布后使用的 20.04 版本),那么此选项没有任何区别。