“do-release-upgrade -d”究竟是如何工作的?

Man*_*dan 6 upgrade updates lts apt do-release-upgrade

将操作系统从一个版本升级到其他版本,例如 - 从 18.04 到 20.04 或从 20.04 到 22.04 - 在整个过程中存在并使用命令do-release-upgrade,并且它有一些选项,例如-c-d,现在在以下教程中

步骤 4. 将 Ubuntu Linux 升级到最新的 LTS部分中指出以下内容:

执行以下命令:

sudo do-release-upgrade

请注意您是否可能收到以下消息:

Checking for a new Ubuntu release There is no development version of
an LTS available. To upgrade to the latest non-LTS develoment release 
set Prompt=normal in /etc/update-manager/release-upgrades. 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,请传递选项以强制-d获取最新的支持版本:

sudo do-release-upgrade -d

当前文件中/etc/update-manager/release-upgrades具有该Prompt=lts值 - 根据一些研究,建议使用该值/设置

我应该假设 ifsudo do-release-upgrade -d那么执行

  1. 当前Prompt=lts值被忽略并暂时使用Prompt=normal? - 它仅适用于进程执行生命周期
  2. 当前Prompt=lts值被忽略并Prompt=never暂时使用?- 它仅适用于进程执行生命周期
  3. 当前Prompt=lts值被覆盖为Prompt=normal? - 因此现在被永久改变
  4. 当前Prompt=lts值被覆盖Prompt=never- 因此现在被永久更改

...这个过程还在继续

目前该man do-release-upgrade选项-d表示

 -d, --devel-release
        If using the latest supported release, upgrade to the development release
Run Code Online (Sandbox Code Playgroud)

但遗憾的是还不清楚。

问题:

  • 具体如何do-release-upgrade -d运作?

额外问题

  • 适用于什么场景?1,2,3,4?
  • 何时/为何强制使用do-release-upgrade -d

use*_*733 7

这个问题每两年就会在每次 LTS 发布后不久以各种形式出现。

-d确实会将您迁移到Ubuntu 的开发版本。目前是 22.10 Kinetic,而不是 22.04 Jammy。

在 LTS发布之前,使用旧版本(如 21.10)中的 -d 确实会将您升级到预版本 22.04。这就是测试人员进入开发版本进行测试的方式。

  • 使用 的-d意思是“我想成为一名测试员”。

在发布日,没有自动机制可以更改 的行为-d。因此,在几周后,-d即使 22.04 已经发布,仍然会将您迁移到 22.04。

  • -d这是那些“使用”文章出现时的窗口。这个建议是有有效期的,如果人们没有解释清楚就提出这个建议,那是不负责任的。

发布日后大约一两周,Ubuntu 开发人员开始开发下一个版本(22.10 Kinetic),他们-d从指向 22.04 转向指向 22.10。

  • 这是一个窗口,既不会do-release-upgrade也不do-release-upgrade -d会将您从 20.04 迁移到 22.04。相反,-don 20.04 将返回错误消息,使用-don 22.04 将使您成为 22.10 测试者。

发布日三个月后,第一个 LTS 点发布 (22.04.1)。这是 LTS 到 LTS 版本升级开启的时候。此时,您的 20.04.x 系统将开始为您提供到 22.04.1 的版本升级。

回想一下,LTS 版本的重点是长期稳定性和可靠性。Ubuntu 开发人员和测试人员利用这三个月的延迟来解决早期错误并测试迁移,确保迁移顺利进行。

  • 想要立即迁移的人通常不是 LTS 的目标受众。如果您是早期采用者,请考虑使用 Ubuntu 的正常 6 个月版本。

  • LTS 用户只需要有耐心即可。等待经过测试的安全升级窗口在八月份打开。