你应该考虑进行
全新安装,正如
guiverc所建议的,因为那样会起作用。
但如果你愿意,你也可以尝试升级。我昨天成功地测试了这个方法。我使用的方法包括三个升级步骤:从17.04升级到17.10,从17.10升级到18.04 LTS,然后从18.04 LTS升级到19.04。我在各自的部分中详细介绍了这三个步骤。
关于为什么这个特定的升级顺序有效而其他顺序无效,请参阅下面的“这是怎么可能的,为什么有必要?”部分。一些读者可能对此不太感兴趣,所以我将指示放在了前面。
17.04 到 17.10
可以通过对笑话的出色回答中的过程进行变化来实现,以如何安装软件或从旧的不受支持的版本升级为例
1. 编辑`/etc/apt/sources.list`文件,将存储库的URL更改为
change your repository URLs以使用
the old-releases server。您可以使用`less /etc/apt/sources/list`命令或在文本编辑器中打开文件进行查看。自动执行编辑的一种方法是运行以下命令:
```
sudo sed -i.orig -r 's/
us\.archive\.|security\./old-releases./' /etc/apt/sources.list
```
在使用该命令之前,请检查现有的`sources.list`文件。在该`sed`命令中,在运行之前,更改`
us
`为适当的值(或者如果您使用主服务器`archive.ubuntu.com`,则删除`
us\.
`)。
有关替代方法,请参阅
this post by fossfreedom中的`sed`命令。
2. 更新软件包管理器以了解可用的软件包及其来源:
```
sudo apt update
```
如果出现错误,请停止并调查错误。可能是第一步操作不正确。
3. 将当前发行版内的软件包升级到最新版本:
```
sudo apt upgrade
```
4. 创建一个临时目录(可以在您的家目录中),然后进入该目录,并下载并提取
the upgrade tool for 17.10,运行以下命令:
```
cd
mkdir tmp
wget http://old-releases.ubuntu.com/ubuntu/dists/artful-updates/main/dist-upgrader-all/current/artful.tar.gz
tar xf artful.tar.gz
```
通常情况下,
Software Updater或
do-release-upgrade
命令会自动下载并运行此工具,但在这种情况下,它不会因为17.10已经到了生命周期结束。通常情况下,在无法自动下载时,您仍然可以从
the meta-release
file中获取工具的有效URL,如
laugh's answer所示,但在这种情况下,该文件(尚)不反映该工具已被移至
old-releases服务器。
在这种情况下,您可以将URL中的`archive.ubuntu.com`中的`archive`替换为`old-releases`以获得有效的URL。基本上,您可以尝试使用它说要使用的URL进行下载,如果失败,则尝试从
old-releases服务器下载。这就是我获取上述URL的方法。
5. 进入提取的目录,并以root身份运行该工具:
```
cd artful
sudo ./artful
```
一个名为
Distribution Upgrade的窗口应该弹出,显示消息
Upgrading Ubuntu to version 17.10,并列出六个步骤:Preparing to upgrade, Setting new software channels, Getting new packages, Installing the upgrades, Cleaning up, and Restarting the computer(请注意,这些步骤与本帖中的指令编号不对应!)第一步应该成功完成。
6. 在"Setting new software channels"步骤中,将会出现一个
dialog box,其中包含以下消息:
```
No valid mirror found
While scanning your repository information no mirror entry for the upgrade was found. This can happen if you run an internal mirror or if the mirror information is out of date.
Do you want to rewrite your 'sources.list' file anyway? If you choose 'Yes' here it will update all 'zesty' to 'artful' entries. If you select 'No' the upgrade will cancel.
```
点击“Yes”。
之所以有效,是因为与17.04(Zesty Zapus)存储库一样,17.10(Artful Aardvark)
17.10到18.04 LTS
这个过程要简单得多,至少如果没有出现问题的话。事实上,我之所以在下面列出了一系列步骤,只是为了清楚地指出可能出错的地方以及如何处理。我认为在这次升级中出现问题的可能性比之前的升级更大,因为自从17.10版本停止维护以来,18.04 LTS中的许多软件包都已经更新到了较新的版本。
在我尝试升级的其中一次中,确实出现了问题,但我很容易就修复了,具体方法如下所述。另一次,我在升级之前移除了open-vm-tools和open-vm-tools-desktop软件包,即使这些软件包是从Ubuntu官方仓库安装的,但是在没有它们的情况下继续进行升级后问题就消失了。(除非你使用的是VMware虚拟机,否则你可能没有安装这两个软件包,但你可能有其他会引起问题的软件包。)
因为17.10不受支持,但18.04 LTS是受支持的,软件更新器会自动提供升级到18.04 LTS的选项。如果没有自动弹出,请运行软件更新器。
如果仍然没有提供更新选项,请退出软件更新器,运行sudo apt update,然后再次运行它。
点击“升级...”按钮。
显示发行说明。在窗口底部点击“升级”按钮。
显示升级将要执行的操作列表,与上一次升级的第7步相同,并询问您是否要开始升级。
点击“开始升级”按钮。
分发升级窗口显示“正在将Ubuntu升级到版本18.04”,这次显示了升级的六个步骤。(如上所述,这些步骤与本说明的编号不对应。)至少前三个步骤应该顺利进行。
第四个步骤“安装升级”需要最长时间。如果您展开了终端视图,可能会看到看起来像是错误的消息。如果确实是错误消息,不要担心:任何需要知道的错误都会在稍后明确显示给您。
如果有错误导致升级无法完成,将弹出一个对话框,上面写着:
无法安装升级
升级已中止。您的系统可能处于不可用状态。现在将运行恢复(dpkg --configure -a)。
如果您没有遇到这种情况,请不要按照本步骤的其余说明操作,而是跳转到本说明的第16步。
如果发生了这种情况,请点击关闭。升级工具将尝试通过运行dpkg --configure -a来修复问题。这将尝试配置损坏或未配置的软件包,但不会安装任何尚未开始安装的软件包。然后它可能会告诉您升级已完成但存在错误。
升级工具关闭后,运行:
sudo apt install --fix-broken
然后,如果看起来问题已经解决,请尝试完成升级:
sudo apt dist-upgrade
这可能或可能不是必需的,这取决于有多少被阻止以及sudo apt install --fix-missing需要执行的操作,所以如果sudo apt dist-upgrade在此处没有做太多事情,不要担心。
然后,我建议您删除作为不再安装的软件包的依赖项安装的软件包(如果升级程序已经完成升级,则涵盖了许多升级程序工具将提供删除的过时软件包):
sudo apt --purge autoremove
然后重新启动。如果升级问题已解决,则您现在使用的是18.04 LTS系统。运行sudo apt update,然后运行sudo apt upgrade。如果两者都没有出现错误,并且像Firefox和LibreOffice这样的程序可以正常工作,那么系统可能是正常的。
我认为发行升级过程不会尝试将系统回滚到开始时的版本,当在安装软件包后出现错误并运行dpkg --configure -a来尝试修复它们时。但是,您可能希望检查/etc/apt/sources.list的内容是否为18.04 LTS的代号bionic,并且lsb_release -a的输出是否一致。
如果没有错误,则升级完成安装软件包。然后它会提供删除过时软件包的选项,与上述第9步相同。
要完成升级到18.04 LTS,需要重新启动系统。如上述第10步所示,通过点击“立即重启”来执行此操作。
18.04 LTS到19.04
18.04 LTS和19.04都是受支持的版本,它们之间的版本18.10已经到了终止生命周期(EOL)。因此,升级18.04 LTS是一个正常的升级,从一个受支持的版本升级到下一个仍然受支持的版本。
只有一件特殊的事情可能需要您做才能使其正常工作。尽管如guiverc所说,17.04不是LTS版本,17.10也不是,但升级到18.04 LTS可能会设置您的Ubuntu系统,以便仅提供升级到后续的LTS版本。
18. 运行软件更新器。如果它提供升级到19.04的选项,就选择那个选项。
否则,只有两个命令按钮可用:设置...和确定。
19. 点击“设置...”按钮。这将打开“软件和更新”首选项。如果“更新”选项卡不是当前选项卡,请点击它。
20. 在底部附近,找到“通知我新的Ubuntu版本:”下拉菜单,将选择改为“任何新版本”。
21. 点击“关闭”按钮。
这将显示一个通常在更改“软件和更新”设置后出现的对话框:
信息已过时
要安装来自新添加或更改源的软件和更新,您需要重新加载有关可用软件的信息。
继续操作需要一个正常工作的互联网连接。
22. 点击“重新加载”按钮。
23. 再次运行软件升级器。
这一次,它会提供升级到19.04的选项。
它还显示了一个之前没有出现的“升级...”按钮。点击该按钮。
24. 它将向您展示19.04的发布说明。
点击“升级”。
25. 一旦您完成了这些步骤,第三次升级很可能(尽管当然不确定)会顺利进行。
我不会列出具体步骤,因为与前两次升级不同,这次升级并没有什么特别之处,也没有需要特别注意的事项。
26. 假设升级成功,请启动并尝试新的19.04系统。
这怎么可能,为什么有必要呢?
这个问题之所以有趣,是由于两个相关因素的结合:
17.04和17.10都已经到了
end-of-life,而17.04已经过去了一段时间。它们的软件库(提供单独的软件包)以及升级工具(尤其是17.10的工具)都已经被移到了
old-releases服务器上。
它们不是LTS版本。从一个LTS版本升级到后续的LTS版本,并跳过中间的版本,是得到很好支持的,但在这里并不适用。而且,因为它们不是LTS版本,它们甚至没有来自Canonical的
ESM支持,所以不应该再期望它们有太多基础设施支持。
通常有人说Ubuntu只支持从一个版本升级到下一个版本,以及从LTS版本升级到下一个LTS版本。这些情况是支持的,但还有另一种情况:当中间版本不再得到支持时,也可以升级从一个支持的版本到下一个支持的版本。
我发现即使在一些不再支持的版本上也可以这样操作--尽管通常发生在最近才到达EOL(终止支持)的情况下--所以我希望软件更新器或者do-release-upgrade工具能够直接将17.04升级到18.04 LTS版本。并且在我将17.04切换到old-releases仓库后,它确实提供了从17.04直接升级到18.04 LTS版本的选项。
Ubuntu 17.04已不再提供软件更新。为了保持安全,您应该升级到Ubuntu 18.04.2 LTS。
但是当我点击升级...并尝试进行升级时,它下载了18.04 LTS的升级工具,并运行了它,然后
工具报告称不支持从17.04升级:
无法升级
该工具不支持从'zesty'升级到'bionic'。
使用
do-release-upgrade
命令尝试升级产生了相同的错误,手动下载、解压和运行
bionic
升级工具也是如此。
我曾考虑过,甚至尝试了一种类似Debian的升级过程,该过程从手动编辑/etc/apt/sources.list
开始,将其指向目标版本。我实际上成功地通过这种方式从17.04升级到了18.04 LTS,但是出现了很多问题,我不得不修复。此外,这种方法从来都不是升级到新版Ubuntu的官方支持方式。除非升级到尚未发布且无法使用do-release-upgrade -d
(大多数人都不会想要这样做)的早期开发版本的Ubuntu,我不建议使用这种方法。我在这里仅仅为了完整性而提及。
致谢