从命令行升级?

我想知道如何从命令行界面将我的当前版本的Ubuntu升级到下一个稳定版本。

其他答案没有解决这个问题。 - Braiam
2好的,他们确实提到了命令行,但只是将其称为“在终端中运行do-release-upgrade”,因为它很简单,而且在一般步骤(“备份文件”)之后。 - Olli
1对我来说有效的方法是使用/usr/lib/ubuntu-release-upgrader/check-new-release -d,然后再使用do-release-upgrade -d。这对我起作用。 - Max Coplan
对于Ubuntu 20.04+,我需要执行sudo apt-get update + sudo apt-get upgrade -y + sudo apt-get dist-upgrade,最后执行sudo do-release-upgrade - Bruno Leveque
3个回答

首先,您需要确保已安装 update-manager-core(可能已经安装):
sudo apt-get install update-manager-core

下一步,运行:
sudo do-release-upgrade

您可能需要检查 /etc/update-manager/release-upgrades 并修改该行:
Prompt=lts

给:
Prompt=normal

为了让发布显示出来。


我已经安装了Ubuntu 17.10。显然,自从给出答案以来,update-manager-core软件包已添加到核心软件包中,因为尝试安装它会产生输出update-manager-core is already the newest version (1:17.10.13).,并且命令do-release-upgrade可用。然而,在命令行上输入此命令会产生输出No new release found.,即使上周发布了18.04版本。(我在文件/etc/update-manager/release-upgrades中有一行Prompt=normal。) - Teemu Leisti
@TeemuLeisti /etc/update-manager/release-upgrades 文档中写道:normal - 检查是否有新版本可用。如果找到多个新版本,升级程序将尝试升级到当前运行版本之后的支持版本。 - Max Coplan
看起来设置Prompt=normal并不足以更新到最新版本。这只会将您更新到倒数第二个版本。 - Max Coplan
1我发现运行/usr/lib/ubuntu-release-upgrader/check-new-release -d然后再运行do-release-upgrade -d对我来说有效。 - Max Coplan

如果你通过SSH运行命令sudo do-release-upgrade -d,那么请使用GNU Screen,因为升级过程会关闭SSH -> 关闭默认端口并打开一个新的端口(它会告诉你这个新的端口),所以:
$ ssh USER@HOST

$ screen -S upgrade
$ sudo do-release-upgrade -d

在客户端计算机上打开一个新的终端。
$ ssh -p PORT USER@HOST

$ screen -d
$ screen -r upgrade

4sudo do-release-upgrade -d 是用于开发版本的。如果你想从LTS升级到下一个版本,只需使用:sudo do-release-upgrade,不需要使用“-d”开关。 - user228759
2从Ubuntu 14.04开始(可能还有更早的版本),do-release-upgrade现在会自动为您创建一个screen,以便更容易恢复失败的升级。它还会启动一个辅助的SSH服务器出于同样的原因。因此,这个建议已经不再必要。 - Daniel Cassidy
我已经尝试了几个月将Mate 16.04升级到18.04,但由于蓝光软件和硬件升级错误,我完全被阻止了。Java组件无法安装,所以我从终端安装了它。现在,这个程序的基本部分是其他依赖项的依赖项。它无法升级,显示一个重大错误。尝试删除它也会删除Mate桌面及其所有依赖项。我该怎么办?是删除它和Mate,然后从终端更新到18.04并重新安装Mate吗? - monkeyman_stones

你可以做
sudo do-release-upgrade

用于命令行更新

(实际上与Ubuntu Server相同)