要将操作系统从一个版本升级到另一个版本,例如从 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.
在这种情况下,传递
-d
选项以获取最新支持的版本强行:
sudo do-release-upgrade -d
在/etc/update-manager/release-upgrades
文件中,它当前具有Prompt=lts
值 - 根据一些研究,这个值/设置是值得推荐的
我应该假设如果sudo do-release-upgrade -d
执行了
- 当前
Prompt=lts
值被忽略并暂时使用Prompt=normal
?-它仅适用于流程执行生命周期 - 当前
Prompt=lts
值被忽略并Prompt=never
暂时使用?-它仅适用于流程执行生命周期 - 当前
Prompt=lts
值被覆盖为Prompt=normal
?-因此现在永久改变 - 当前
Prompt=lts
值被覆盖Prompt=never
- 因此现在永久改变
...这个过程继续进行
目前man do-release-upgrade
该-d
选项表示
-d, --devel-release
If using the latest supported release, upgrade to the development release
但遗憾的是并不清楚。
问题:
- 具体是如何
do-release-upgrade -d
工作的?
附加问题
- 适用什么场景?1,2,3,4?
- 何时/为何强制使用
do-release-upgrade -d
?
答案1
每两年一次,在每次 LTS 发布后不久,这个问题就会以各种形式出现。
-d
确实会将您迁移到发展Ubuntu 版本。目前是 22.10 Kinetic,而不是 22.04 Jammy。
发布前LTS,使用旧版本(如 21.10)的 -d 确实会将您升级到预发布版本 22.04。这就是测试人员如何获得开发版本以进行测试的方式。
- 用法的
-d
意思是“我想成为一名测试员”。
发布日,没有自动机制来改变 的行为-d
。因此,在接下来的几周内,-d
仍会将您迁移到 22.04,即使它已经发布。
- 这是那些“使用”文章出现的窗口
-d
。这些建议都有到期日期,如果给出这些建议的人没有解释清楚,那么这是不负责任的。
发行后大约一两周,Ubuntu 开发人员开始开发下一个版本 (22.10 Kinetic),他们-d
从指向 22.04 转向指向 22.10。
do-release-upgrade
这是 NEITHER或不会将您从 20.04 迁移到 22.04 的窗口do-release-upgrade -d
。相反,-d
在 20.04 上使用会返回错误消息,而在 22.04 上使用-d
会使您成为 22.10 测试人员。
发行后三个月,出现第一个 LTS 点版本(22.04.1)。这是开启 LTS 到 LTS 版本升级的时候。此时您的 20.04.x 系统将开始为您提供至 22.04.1 的版本升级。
回想一下,LTS 版本的全部意义在于长期稳定性和可靠性。Ubuntu 开发人员和测试人员利用这三个月的延迟来解决早期的错误并测试迁移,以确保迁移顺利进行。
想要立即迁移的人通常不是 LTS 的目标受众。如果您是早期采用者,请考虑使用 Ubuntu 的常规 6 个月版本。
LTS 用户只需耐心等待,等待经过测试的安全升级窗口在 8 月份打开。
答案2
该命令do-release-upgrade -d
将导致安装开发版本,如手册页中所述。如果您使用的是 20.04,并添加该-d
选项,您目前(2022-06-06)将收到一条消息There is no development version of an LTS available.
。该工具将通知您可以设置Prompt=normal
升级/etc/update-manager/release-upgrades
到最新的非 LTS 开发版本。
您的方案均不适用。您的配置文件不会被覆盖。使用Prompt=lts
和选项-d
,您只能升级到下一个 LTS 的开发版本(如果可用)(和如果您当前的版本是 LTS - 否则,该设置将被视为设置为normal
),使用Prompt=normal
和 选项-d
,您将升级到紧随当前版本之后的开发版本。