升级时可以跳过版本吗?

Jar*_*yes 131 upgrade

我目前使用的是 Ubuntu 10.04。我知道有 10.10 版本,但我可以直接升级到 11.04 吗?你能帮我完成这些步骤吗?

812*_*128 94

Ubuntu 只支持从一个版本升级到下一个版本,或者从一个 LTS 版本升级到下一个 LTS 版本。所以你需要从 10.04 升级到 10.10,然后才升级到 11.04。

这种限制有技术原因。安装现有软件包的新版本时,有时必须执行转换,例如,可能必须将现有设置导入新的数据库格式。在执行此类转换时,打包脚本必须对旧格式进行假设。如果支持从所有以前版本的 Ubuntu 升级,那么这将很快成为维护的噩梦,因为打包脚本必须能够从所有以前使用的格式转换为当前格式。为了避免噩梦,打包脚本一般只支持从以前的 Ubuntu 版本中包含的包版本升级(以及从以前的 LTS 版本,如果是包含在 LTS 版本中的包)。

可以直接从倒数第二个或更早的版本升级到当前版本(称为“跳过升级”),但可能会导致系统配置错误。

  • 你知道 Canonical/Ubuntu 关于这个主题的官方声明吗?他们不正式支持这一点对我来说似乎很奇怪。否则,为什么 Ubuntu 12.10 的更新管理器甚至会给我选择只升级到 LTS 版本,如果这永远不可能? (3认同)

Lui*_*ado 45

强烈不建议从比先前版本更旧的版本(在这种情况下非常旧)更新到当前版本。您最好下载新版本,进行备份,然后安装新版本。

如果您使用的是 Ubuntu 10.04 并且真的真的想从该版本更新到最新版本,请继续阅读,如果您使用的是 Ubuntu 10.10 并且还想从该版本更新到最新版本,请转到第二部分。我应该至少警告 10.10 的用户,这涉及下载超过 2GB 的数据,并且需要一整天的时间。甚至在最后它可能会更慢,给你错误,你的连接会在某个时候掉线或者计算机会发疯。这意味着我不保证它可以在每台 PC 上完美运行。所以如果你想以这种方式升级,真的要考虑一下。我建议阅读此链接:如何升级到较新版本的 Ubuntu?

这是一张图片,显示了 12.04 发布后 10.04 用户应该看到的内容:

在此处输入图片说明

更新- 如果您在 12.04 发布后阅读本文,则 10.04 中的更新管理器中应该有一个选项,表示从 10.04 升级到 12.04。这是自 12.04 发布以来要走的路。

由于历史原因,我将在 12.04 发布之前为想知道如何操作的用户留下以下信息但如果您仍在使用 10.04,请在此处阅读:如何升级到较新版本的 Ubuntu?因为 fossfreedom 创建了一个关于从 10.04 升级到 12.04 的非常好的和完整的答案。

  • 第一部分(适用于 12.04 之前的 Ubuntu 10.04 用户)

如果您首先使用 Ubuntu 10.04,则需要从 10.04 升级到 10.10,然后从 10.10 升级到 11.04。原因是 10.04 是 LTS 版本(长期支持),因此它会将自己从一个 LTS 升级到另一个。所以下一个 LTS 将是 12.04。当 12.04 到来时,您会看到 10.04 上注意到升级。但如果您仍想升级到 11.04,请执行以下操作:

Ubuntu 10.04 到 10.10

菜单方式
1a. 使用菜单转到System -> Administration -> Update Manager

键盘方式
1b。ALT+F2和类型gksu update-manager

当更新管理器打开并且它没有在上部显示“新的 Ubuntu 版本可用”消息时,请执行以下步骤:

2- 单击左下角更新管理器中的设置按钮。软件源 Windows 打开后,它应该让您进入更新选项卡,您将在其中更改底部的版本升级选项。将其从必须的更改为Normal Releases然后关闭。你在这里所做的是告诉 Ubuntu 不要检查 LTS 版本,而是检查正常版本。普通版本是每 6 个月推出的版本。LTS 每两年发布一次。例如 8.04、10.04、12.04..

在此处输入图片说明

2.1 按照 1a 或 1b 中的步骤再次打开更新管理器。

在此处输入图片说明 2.2. 单击应出现在上部的升级按钮。升级完成后重启电脑,你应该在 10.10。稍微测试一下,然后如果您 100% 确定转到 11.04,请执行以下操作:

  • 第二部分(适用于 Ubuntu 10.10 用户)

Ubuntu 10.10 到 11.04

  1. ALT+F2并键入“gksu update-manager -d”以打开更新管理器。该-d是检查是否有开发版本。由于 11.04 仍在开发中,它会出现在更新管理器的上半部分,上面写着New Ubuntu Version 11.04和一个UPGRADE按钮

在此处输入图片说明

  1. 单击UPGRADE按钮并按照它进行操作。

重要 - 确保您已经更新了 Ubuntu 10.10 中的所有内容。因此,您已准备好彻底升级到 11.04。

注意- 从 LTS 到 LTS,您实际上可以更新。例如 10.04 LTS 到 12.04 LTS。但是对于像 10.10 这样的任何其他版本,您实际上需要从一个版本更新到另一个版本,直到到达最后一个版本。就您而言,在 12.04 发布之前,您可以从 10.04 更新到 10.10,然后从 10.10 更新到 11.04,依此类推直到 11.10。12.04 发布后,您可以直接更新到 12.04,因为它是下一个发布的 LTS。

  • 实际上雅各布,即使您进行编辑,这仍然可以回答问题。用户正在使用 10.x,我正在给他一个基于此的答案。然而,我会在最后添加一个“注释”,说明从旧到新的升级。 (4认同)
  • 投反对票,因为这不再回答问题。它被规范化了... (2认同)
  • 其实我部分不同意。答案是针对提问者和一般用户的。创建我的答案时,用户可以按照当时的要求逐步更新。这符合规则并回答用户。我也不知道你想要它有多通用,因为它是一步一步的,最后的注释提到了 12.04 发布后的 2 种更新方式。 (2认同)

Mar*_*ppi 28

不,这是不可能的。

使用标准升级方法。

唯一可以在标准版本之外进行版本升级的“点对点”版本升级是 LTS 版本升级。换句话说,您可以从 8.04 -> 10.04 和 10.04 -> 12.04 升级,而无需升级到其他三个非 LTS 版本中的每一个。否则,您需要先到 10.10,然后再到 11.04。既然你不是太落后,它应该不会花很长时间。只需像往常一样运行更新管理器,然后按照链更新到 11.04。

如果您要尝试,您可以简单地插入一个 11.04 磁盘并通过 10.10 安装进行安装。这应该使您的所有主文件夹内容保持完整,但将导致您必须重新安装“重新安装”之前拥有的所有软件


Lek*_*eyn 26

您不能在升级之间跳过版本。Jaunty 和 Lucid 之间的版本是 Karmic。我建议您备份重要数据并完全重新安装,因为很多事情都发生了变化,包括引导加载程序。

如果您不喜欢全新安装,可以使用备用 CD 进行升级。

准备工作:

  • 备份系统(如果可能,磁盘映像
  • 备份您的个人文件(主目录),以便您可以轻松复制文件
  • 删除所有 PPA和非标准存储库,包括它们的包
  • 为失败做好准备,准备一张 Live CD,这样即使磁盘已死,您仍然可以启动

使用备用 CD 的升级描述如下:

  1. 下载ubuntu-9.10-alternate-i386.isohttp://releases.ubuntu.com/karmic/到你的home目录(替换i386amd64,如果你已经在64位系统,并ubuntukubuntu用于KDE)
  2. 打开终端并运行:

    sudo mount -o loop ~/ubuntu-9.10-alternate-i386.iso /media/cdrom
    
    Run Code Online (Sandbox Code Playgroud)
  3. 通过执行以下命令开始升级:

    gksu "sh /media/cdrom/cdromupgrade"
    
    Run Code Online (Sandbox Code Playgroud)

    如果您使用的是 KDE (Kubuntu):

    kdesudo "sh /media/cdrom/cdromupgrade"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启

从 9.04 升级到 9.10 后,使用以下命令继续升级到 10.04:

sudo do-release-upgrade -d
Run Code Online (Sandbox Code Playgroud)


fos*_*dom 14

是与否!

是的,这是可能的 - 我已经看到一些人尝试通过 sudo do-release-upgrade/ 或手动更改他们的 source.list 进行强制升级 - 但是......

不要这样做...

Canonical 仅支持从 LTS 升级到 LTS(即 10.04 到 12.04),或从每个中间版本(10.04 - 10.10 - 11.04 - 11.10 - 12.04 - 12.10 等)升级

如果您尝试强制升级,您很可能会破坏您的系统 - 文件可能不会升级或更新,而且很可能您的系统行为非常奇怪,甚至无法启动。

我还看到很多人尝试备份 /home 并在全新安装时恢复它。这通常有效 - 但是 - 我个人更喜欢从备份中进行全新安装,复制特定文件。只复制特定文件的优点是您可以清除多年来积累的所有垃圾。


bel*_*qua 7

您需要先升级到 10.10,然后再升级到 11.04。您可以使用 update-manager,但也可以do-release-upgrade从命令行使用。

您可能需要先升级update-manager-core,在这种情况下,整个序列将如下所示:

sudo apt-get install update-manager-core
do-release-upgrade
Run Code Online (Sandbox Code Playgroud)

您可以重复升级过程以升级到 11.04。


小智 6

您可以执行上述方法,而无需安装 apache 或更改 /etc/hosts。只需将 wget 中的元发布文件保存在某处(除了在 /etc/update-manager/meta-release 之上)并按照描述对其进行编辑。然后,在 /etc/update-manager/meta-release 中,将“URI = http://.....”行更改为“URI = file:///path/to/my/edited/meta-release /文件”

此外,要使 do_release_upgrade 工作,在您编辑的元发布文件中,您必须将 Release-File、Upgrade-Tool 和 UpgradeToolSignature 的 URL 中的存档从http://archive....更改为http://old-releases...


小智 6

感谢这解决了我升级旧系统时遇到的问题。但是,我使用了一项增强功能,可以使这变得更容易 - 您不需要安装 apache。

只需使用file://URI 而不是http://URI。

所以这个过程是这样的(我的用户名是模糊的):

fozzy@hostname:~$ wget -O - http://changelogs.ubuntu.com/meta-release | sed '/lucid/,$d' > meta-release
Run Code Online (Sandbox Code Playgroud)

使用您喜欢的编辑器编辑主目录中的元发布文件,以便业力块中的“支持:0”行现在显示为:“支持:1”。

编辑 /etc/update-manager/meta-release 并创建 URI(注意连续的三个斜杠):

URI = file:///home/fozzy/meta-release
URI_LTS = file:///home/fozzy/meta-release
Run Code Online (Sandbox Code Playgroud)

执行版本升级。

这样做的好处是不需要安装 apache 和它引入的所有东西——我在一个最小的系统上使用它,我不希望所有这些东西都被引入。这也意味着你可以编辑元发布文件没有root。

您只需要 root 来编辑/etc/update-manager/meta-release文件然后运行do-release-upgrade.


bin*_*inW 5

升级 Ubuntu 时不能跳过版本。因此,您需要先升级到 9.10,然后再从 9.10 升级到 10.04。


fos*_*dom 5

有一次,Jaunty 失去了支持。Jaunty (Karmic) 的下一个版本也不再受支持。

你也不能跳过中间版本,即不是 9.04 到 10.4 - 你必须通过 9.10。

由于 Jaunty 和 Karmic 都已从主存储库中删除,因此最好的升级途径是下载 10.04 的桌面 ISO 并进行全新安装。

当然,您应该在安装之前备份 /home 中的所有非隐藏文件。您可以在之后恢复这些。

  • 是的 - 见@lekensteyn 答案。不过我的建议是——把这当作一个重新开始的机会——你会惊讶于这些年来你收集了多少原油。此外,您还可以避免有时会遇到的任何“升级”问题,例如错误安装的软件包/来自您可能已编译/手动安装的内容的冲突软件包。 (2认同)

Win*_*nix 5

几乎所有的答案都说不,你不能,但实际上,如果你做得对,你可以。本文介绍了如何:

链接中的完整文章包含在下面,但请查看链接以获取用户的新评论。我要指出的是,您可以直接从16.04成功升级到19.04,但我遇到了一些小问题:


全文如下:

直接从命令行将 Ubuntu 18.04 升级到 Ubuntu 19.04

您已被告知必须先升级到 Ubuntu 18.10,才能从 18.04 升级到 19.04。这是因为 Ubuntu 18.10 仍然受到 Canonical 的支持,并且还没有结束。Ubuntu 18.10 于 2019 年 7 月停产后,Ubuntu 18.04 用户可以按照标准升级程序直接升级到 19.04。如果不想等3个月,又不想升级两次,可以按照下面的说明直接升级到19.04。

注意:在进行升级之前,您可以使用 systemback 程序从您当前的操作系统创建一个可引导的 ISO 映像。如果升级失败,您可以使用可引导 ISO 轻松恢复操作系统。操作系统上的所有内容(包括软件和文件)都将完好无损。如果您使用的是笔记本电脑,请连接电源。

直接从终端将 Ubuntu 18.04 升级到 Ubuntu 19.04

我将向您展示的方法是 Ubuntu 发行版升级管理器在幕后如何工作。唯一的区别是我们将更改为 Canonical 提供给我们的升级路径。

首先,运行以下命令升级现有软件。(请注意,如果在运行以下命令时安装了新内核,则需要重新启动系统才能继续升级过程。)

sudo apt update && sudo apt dist-upgrade
Run Code Online (Sandbox Code Playgroud)

然后确保您安装了 update-manager-core 软件包。

sudo apt install update-manager-core
Run Code Online (Sandbox Code Playgroud)

接下来,使用 nano 或您首选的命令行文本编辑器编辑配置文件。

sudo nano /etc/update-manager/release-upgrades
Run Code Online (Sandbox Code Playgroud)

在此文件的底部,将 Prompt 的值从 lts 更改为 normal。

Prompt=normal
Run Code Online (Sandbox Code Playgroud)

从命令行升级到 ubuntu 19.04

要在 Nano 文本编辑器中保存文件,请按 Ctrl+O,然后按 Enter 确认。要退出,请按 Ctrl+X。

之后,我们需要运行以下命令将源列表文件(/etc/apt/sources.list)中的所有仿生实例更改为disco 。Bionic 是 Ubuntu 18.04 的代号,而 disco 是 Ubuntu 19.04 的代号。

sudo sed -i 's/bionic/disco/g' /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

然后我们需要使用以下命令禁用第三方存储库 (PPA)。

sudo sed -i 's/^/#/' /etc/apt/sources.list.d/*.list
Run Code Online (Sandbox Code Playgroud)

禁用第三方存储库后,运行以下命令更新软件源并将软件升级到 Ubuntu 19.04 存储库中可用的最新版本。此步骤称为最小升级。

sudo apt update  
sudo apt upgrade  
Run Code Online (Sandbox Code Playgroud)

如果在升级过程中出现 apt-listchanges,您可以按Q键返回主屏幕。

apt-listchanges  
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

最小升级完成后,运行以下命令开始完整升级。

sudo apt dist-upgrade
Run Code Online (Sandbox Code Playgroud)

如果您看到此错误:

Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令来修复错误。

sudo apt update
Run Code Online (Sandbox Code Playgroud)

并重新运行:

sudo apt dist-upgrade
Run Code Online (Sandbox Code Playgroud)

现在您可以从您的 Ubuntu 系统中删除过时/不需要的软件包。

sudo apt autoremove  
sudo apt clean  
Run Code Online (Sandbox Code Playgroud)

最后,重启系统。

sudo reboot  
Run Code Online (Sandbox Code Playgroud)

重新启动后,您可以打开一个终端窗口并检查您的 Ubuntu 版本。

lsb_release  -a
Run Code Online (Sandbox Code Playgroud)

您应该会看到以下文本。

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco
Run Code Online (Sandbox Code Playgroud)

如何重新启用第三方存储库

第三方存储库在/etc/apt/sources.list.d/目录下的 .list 文件中定义。首先,使用以下命令重新启用第三方存储库,这将删除以 deb 开头的行中的 # 字符。

sudo sed -i '/deb/s/^#//g' /etc/apt/sources.list.d/*.list
Run Code Online (Sandbox Code Playgroud)

然后将所有仿生实例更改为迪斯科。

sudo sed -i 's/bionic/disco/g' /etc/apt/sources.list.d/*.list
Run Code Online (Sandbox Code Playgroud)

更新包存储库索引。

sudo apt update
Run Code Online (Sandbox Code Playgroud)

某些第三方存储库没有 Ubuntu 19.04 的条目,因此您可能会看到如下错误:

E: The repository 'http://linux.dropbox.com/ubuntu disco Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Run Code Online (Sandbox Code Playgroud)

您需要一一编辑这些存储库文件并将disco 改回bionic。例如,我编辑 Dropbox 存储库文件。

sudo nano /etc/apt/sources.list.d/dropbox.list
Run Code Online (Sandbox Code Playgroud)

将迪斯科改回仿生。保存并关闭文件。