通过 DVD 增量升级 Ubuntu Gnome EOL 版本

通过 DVD 增量升级 Ubuntu Gnome EOL 版本

版主请仔细阅读,并在称重复之前思考,这与现有问题不同。背景是,但不是问题。

背景: 据我了解,如果要升级 Ubuntu Gnome 发行版,可以通过升级到下一个增量更新来实现。例如,在我的计算机上,我无法直接从 15.04 跳到 16.04 LTS,我必须从 15.04 跳到 15.10,然后从 15.10 跳到 16.04 LTS。

我只想在此时(2017 年 7 月 27 日)这样做,因为 15.04 和 15.10 都处于 EOL 状态,因此不受支持。显然可以通过更改 etc/apt/sources.list 以指向旧存档来实现,但我无法做到这一点。无论我指向的是新源还是旧源,我通常都会收到以下错误。以下场景是我在更改 sources.list 之前和之后得到的结果。

sudo apt-get update
...
sudo do-release-upgrade
...
An upgrade from 'vivid' to 'xenial' is not supported with this tool.

值得一提的是,我花了几个小时尝试在工作机器上执行此操作,然后放弃了,并使用 17.04 DVD 进行了升级,丢失了大部分(如果不是全部)程序和配置。现在我把注意力转向了家用机器,它上面也有 15.04。

问题 1: 这就是我现在要问的问题的背景故事。我有 15.10 和 16.04 的安装 DVD。现在我知道当您从 CD 启动时,您可以选择升级您的版本,并且它会“尝试”保留您的程序。

这与执行“sudo do-release-upgrade”增量升级有什么不同?我问这个问题是因为在我的办公室电脑上,我能够使用 17.04 dvd 从 15.04 升级,但我可能还是做了一个全新安装,因为它清除了所有东西。在使用“do-release-upgrade”之前,我已经进行过增量升级,它通常不需要重新安装和配置我的应用程序。

问题2: 如果问题一的答案是“有区别”,那么有没有一种方便的方法使用 DVD 执行增量备份。假设我有一个住在乡下的老朋友,他的网速勉强够收发电子邮件。那么我能否使用安装 DVD 为他进行发布升级,并且几乎没有副作用,就像我通过命令行进行升级时遇到的那样?

最后: 我想总的来说,我想问的是,在对 Ubuntu 发行版进行增量升级时,“do-release-upgrade”与基于 CD 的升级有何不同?如果有人能准确回答这最后一个问题,那么你就回答成功了。

答案1

虽然“sudo do-release-upgrade”专注于更新所有内容并删除损坏的软件包,但此方法会尝试保留尽可能多的程序。注意:在某些情况下,不可能保留旧软件包:例如,“libav”被“ffmpeg”替换。唯一的解决办法是希望损坏的软件包有一个使用新库的替代品。

首次运行:apt-mark showhold确保没有任何东西被阻止。如果您发现被阻止的软件包,则删除阻止的软件包并更新它们,我发现这aptitude是一次标记和更新多个软件包的最简单方法。Aptitude还会建议删除孤立软件包(不再被任何东西使用的软件包)。 sudo apt-get autoremove还会删除不再使用的软件包。

在您的系统完全更新到当前版本后,更改您的来源以指向您想要的 Ubuntu 版本。例如:将“trusty”更改为“xenial”

接下来运行以下一系列命令:

sudo apt-get update这将更新软件包列表。
sudo apt-get upgrade这将升级那些无需更改其他软件包即可升级的软件包。从而简化下一步的依赖关系解析。
sudo apt-get dist-upgrade这将升级剩余的软件包,并尽可能减少删除。

您现在有了新版本的 Ubuntu,需要清理过时的软件包。同样,我发现aptitude这是完成此操作的最简单方法。打开后aptitude,它将已经有建议删除(孤立软件包)的列表,通常可以安全地删除它们。
现在检查剩余的过时软件包。在大多数情况下,剩余的软件包已被另一个软件包替换:例如,gt4 被 gt5 替换,gstreamer0.1-good 被 gstreamer1.0-good 替换。替换将位于新软件包标题下。这个步骤是最关键的,也是我喜欢的原因aptitude,替换过时的软件包通常会破坏其他软件包;但是,损坏的软件包通常也有替代软件包来更正依赖关系。 Aptitude将列出损坏的软件包并推荐修复方法。在提交之前检查要执行的操作。

完成后,清理包缓存:sudo apt-get autoclean这将删除不再使用的包的包缓存。

相关内容