升级时可以跳过发行版吗?


Answers:


87

Ubuntu仅支持从一个版本升级到下一版本,或从一个LTS版本升级到下一LTS版本。因此,您需要从10.04升级到10.10,然后再升级到11.04。

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

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


3
您知道Canonical / Ubuntu对此主题发表的官方声明吗?我似乎很奇怪,他们没有正式支持这一点。否则,为什么从Ubuntu 12.10开始的更新管理器甚至会给我一个选择,那就是仅在不可能的情况下才升级到LTS版本?
Avian00 2014年

1
@ Avian00以某种方式,当您升级到LTS时,它们将Prompt变量强制/etc/update-manager/release-upgradeslts。您必须将其更改回以normal使升级再次正常工作。至少,这是我的经验。
亚历克西斯·威尔克

当我安装14.04时,它为我提供16.04作为过程的一部分。我做到了,发现我可以依靠16.04 LTS。但是某些内部组件在15时发生了变化,因此我的系统具有这些文件以及引导过程的16.04文件。即使大多数14.04文件被忽略,在混合系统上找到好的建议也可能会造成混淆。对我来说,这意味着我需要非常小心地遵循仅针对16.04 LTS的建议。没什么大不了的,但是要考虑的事情。14.04建议可能看起来正确,但尚未实现您想要的更改(例如cron日志级别)。
SDsolar

42

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

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

下图显示了10.04用户在发布12.04之后应该看到的内容:

在此处输入图片说明

更新 -如果您在12.04发布后正在阅读此内容,则10.04中的更新管理器中应该有一个选项,指示从10.04升级到12.04。自从12.04发布以来,这就是方法。

出于历史原因,我将在下面的信息留给希望在12.04发布之前如何做的用户,但是如果您仍在10.04中,请阅读此处:如何升级到较新版本的Ubuntu?因为fossfreedom为从10.04升级到12.04创建了一个很好的完整答案。

  • 第一部分(适用于Ubuntu 10.04用户,然后发布12.04)

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

Ubuntu 10.04至10.10

菜单方式
1a。使用菜单进入系统->管理->更新管理器

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

当更新管理器打开并且在上部未显示“ New Ubuntu Release Available ”消息时,请执行以下步骤:

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

在此处输入图片说明

2.1按照1a或1b中的步骤再次打开Update Manager。

在此处输入图片说明 2.2。单击应该显示在上部的“升级”按钮。完成升级后,重新启动PC,您应该在10.10中。对其进行一点测试,然后如果您100%确定要转到11.04,请执行以下操作:

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

Ubuntu 10.10至11.04

  1. ALT+ F2并输入'gksu update-manager -d'打开update-manager。该-d是检查是否有开发版本。由于11.04仍在开发中,它将出现在更新管理器的上部,显示新的Ubuntu 11.04版,并带有一个UPGRADE按钮。

在此处输入图片说明

  1. 单击升级按钮,然后逐步进行。

重要信息-确保已更新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。


2
不赞成投票,因为这不再回答问题。它被规范化了……
杰德(Jjed)

4
实际上,即使您进行了编辑,Jacob仍然可以回答问题。用户正在使用10.x,我将根据此给出答案。但是,我将在最后添加一个“注释”,以说明从旧到新的升级。
路易斯·阿尔瓦拉多

1
SE网站上的答案不仅仅针对问问者,甚至不仅仅针对问问者。这个答案已经回答了一个不相关的问题(谁想要在此时升级10.04-> 11.04?)。您能否使说明更笼统?如果是这样,我将改为投票。
杰德2012年

2
实际上,我部分不同意。答案是针对问询者和一般用户。创建我的答案后,用户可以按照他当时的要求逐步更新。这符合规则并回答了用户。我也看不到您想要的更通用,因为它会逐步进行,并且末尾的注释提到了12.04发行后的两种更新方式。
路易斯·阿尔瓦拉多

在寻找“规范化”一词(不知道那个)之后,我明白了。我以为您在以某种方式谈论Canonical,并且它得到了“规范化”。像它被Ubuntuzied之类的。无论如何,一开始都会进行更改,以免使读者感到困惑。
路易斯·阿尔瓦拉多

26

不,这不可能。

使用标准的升级方法。

LTS版本升级是唯一在标准版本之外进行版本升级的“点对点”版本升级。换句话说,您可以从8.04-> 10.04和10.04-> 12.04升级,而不必同时升级到这三个其他非LTS版本。否则,您需要转到10.10,然后转到11.04。既然您还不算太晚,不应该花很长时间。只需像往常一样运行更新管理器,然后遵循链至11.04。

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


25

您不能在升级之间跳过版本。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
    
  3. 通过执行以下命令开始升级:

    gksu "sh /media/cdrom/cdromupgrade"
    

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

    kdesudo "sh /media/cdrom/cdromupgrade"
    
  4. 重启

从9.04升级到9.10后,请使用以下步骤升级到10.04:

sudo do-release-upgrade -d

听起来很棒!我试试看。
Yadnesh 2011年

@Yadnesh:确保进行备份,最好使用Clonezilla之类的磁盘映像工具进行备份,以便在升级出错时可以还原磁盘。
Lekensteyn 2011年

有没有可能搞砸升级?
Yadnesh 2011年

@Yadnesh:好的,新设置并不总是与旧设置兼容。从Jaunty升级到Karmic的过程中,移动了许多桌面小部件。如果可能,请重新安装。除了软件问题外,还有其他问题:电源可能会中断,硬盘驱动器可能会发生故障,或者人将咖啡倒在机器上。
Lekensteyn 2011年

1
@ Yadnesh,@ Lekensteyn,我建议您在开始升级之前删除所有PPA和其他非官方存储库,并可能还要从这些PPA中删除软件包(例如使用ppa-purge)。在将发行版升级到10.04之前,确保9.10是最新的也是一个好主意……
2011年

12

是的,没有!

是的,这是可能的-我已经看到一些人尝试通过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并在全新安装中将其还原。这通常可以正常工作-但是-我个人更喜欢进行全新安装,从备份中复制特定文件。仅复制特定文件的好处是可以清除您多年来积累的所有垃圾。


+1清理垃圾,这是我自2009年以来从未做过的事情。幸运的是,驱动器现在很大。还要注意,只有备份/home在最终用户桌面上是可以的,但是在服务器上,您可能有大量的设置/etc/...需要重新安装,而如果您安装新的OS,则需要花很长时间才能完成。
亚历克西斯·威尔克

6

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

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

sudo apt-get install update-manager-core
do-release-upgrade

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


5

您可以执行上述方法,而不必安装apache或更改/ etc / hosts。只需将wget的meta-release文件保存在某个地方(/ 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...


您指的是哪种“方法之上”的技巧?
rubo77 2014年

5

感谢这个解决的问题,我在升级旧系统时遇到了问题。但是,我使用了一项增强功能,可以使此操作更加容易-无需安装apache。

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

因此,过程是这样的(我的用户名是fozzy):

fozzy@hostname:~$ wget -O - http://changelogs.ubuntu.com/meta-release | sed '/lucid/,$d' > meta-release

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

编辑/ etc / update-manager / meta-release并制作URI(请注意连续三个斜杠):

URI = file:///home/fozzy/meta-release
URI_LTS = file:///home/fozzy/meta-release

执行版本升级。

这样做的好处是,无需安装apache及其引入的所有内容-我在最小的系统上使用了它,并且我不想将所有这些内容引入。这还意味着您可以编辑meta-release文件没有生根。

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


4

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


但是,当我在屏幕上看到的唯一选择是10.04时,我应该如何选择9.10?有什么办法吗?
Yadnesh 2011年

未显示的原因是9.10
不受支持

@Yadnesh:我认为您仍然可以下载9.10备用CD并使用它进行升级。
2011年

4

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

您也不能将中间版本从9.04跳到10.4-您必须通过9.10。

由于Jaunty和Karmic均已从主要存储库中删除,因此最好的升级方法是下载桌面ISO 10.04并重新安装。

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


我可以通过CD进行升级吗?
Yadnesh 2011年

2
是的,请参阅@lekensteyn答案。不过,我的建议-以此为契机重新开始-多年来您会收集多少杂物,您会感到惊讶。此外,您还可以避免有时会遇到的任何“升级”问题,例如安装错误的软件包/与您可能已经编译/手动安装的软件包产生的冲突的软件包。
fossfreedom

我建议也复制所有隐藏文件,因为它们可能包含有用的信息(例如,我怀疑Yadnesh会丢失他的邮件)。
2011年

1
@JanC-导出他的邮箱是一个更好的答案。复制隐藏文件的关键问题是配置文件的结构可能已经更改。如果将新的配置文件替换为旧的配置文件,则会遇到无法运行的应用程序/主题问题和其他问题。
fossfreedom

1
@fossfreedom @JanC:如果可能,请导出并复制所有内容。即使应用程序可以转换旧的配置文件,它也不是完美无瑕的(新功能未集成并且采用奇怪的默认值)
Lekensteyn 2011年

3

几乎所有的答案都是不可以,但实际上只要您做对就可以。本文介绍了如何:

链接中的完整文章包括在下面,但请检查链接中是否有来自用户的新评论。我要指出的是,您可以直接从16.04成功升级到19.04,但是遇到了一些麻烦:


全文如下:

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

您已获悉,必须先升级到Ubuntu 18.10,才能从18.04升级到19.04。这是由于Canonical仍支持Ubuntu 18.10,并且尚未达到使用寿命。在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

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

sudo apt install update-manager-core

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

sudo nano /etc/update-manager/release-upgrades

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

Prompt=normal

从命令行升级到ubuntu 19.04

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

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

sudo sed -i 's/bionic/disco/g' /etc/apt/sources.list

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

sudo sed -i 's/^/#/' /etc/apt/sources.list.d/*.list

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

sudo apt update  
sudo apt upgrade  

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

apt-listchanges  

在此处输入图片说明

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

sudo apt dist-upgrade

如果看到此错误:

Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

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

sudo apt update

并重新运行:

sudo apt dist-upgrade

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

sudo apt autoremove  
sudo apt clean  

最后,重新启动系统。

sudo reboot  

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

lsb_release  -a

您应该看到以下文本。

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco

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

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

sudo sed -i '/deb/s/^#//g' /etc/apt/sources.list.d/*.list

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

sudo sed -i 's/bionic/disco/g' /etc/apt/sources.list.d/*.list

更新软件包存储库索引。

sudo apt update

某些第三方存储库没有适用于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.

您将需要一个一个地编辑这些存储库文件,并将迪斯科改回仿生。例如,我编辑Dropbox存储库文件。

sudo nano /etc/apt/sources.list.d/dropbox.list

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


2

对于计划进行全新安装的用户,请执行以下步骤。

您将需要:单独的磁盘,建议使用外部HDD。

  1. 打开终端并定义例如:
    your_mount_point_of_external_HDD=/media/USBDRIVE
  2. sudo tar czvf /media/$your_mount_point_of_external_HDD/mybackup.tar.gz /home #备份/ home文件夹。
  3. sudo tar czvf /media/$your_mount_point_of_external_HDD/mysources.tar.gz /etc/apt/#备份您的存储库。
  4. sudo dpkg --get-selections > /media/$your_mount_point_of_external_HDD/mypackages #列出已安装的软件包
  5. 关闭,断开外部硬盘驱动器的连接,然后安装新系统,并添加具有相同名称的用户。
  6. 安装完成后,重新插入外部硬盘并重新输入:
    your_mount_point_of_external_HDD=/media/USBDRIVE
  7. cd /; sudo tar xvzf /media/$your_mount_point_of_external_HDD/mysources.tar.gz
  8. ORIGINAL_DISTRO=grep deb /etc/apt/sources.list | cut -d " " -f 3 | sort | head -n 1; NEW_DISTRO=lsb_release -cs; sudo grep -rl $ORIGINAL_DISTRO /etc/apt | sudo xargs sed -i "s/$ORIGINAL_DISTRO/$NEW_DISTRO/"#这会将旧的源代码名称更改为新的代码名称。(/etc/apt如果知道如何操作,则可以手动编辑文件)
  9. sudo apt-get update#在这里您可能会看到缺少键的错误。要快速绕过它们:
    • sudo apt-add-repository ppa:nilarimogard/webupd8
    • sudo apt-get update
    • sudo apt-get install launchpad-getkeys
    • sudo launchpad-getkeys
  10. dpkg --clear-selections && dpkg --set-selections < /media/$your_mount_point_of_external_HDD/mypackages #这样您将重新安装软件包。
  11. cd / && tar xvzf /media/$your_mount_point_of_external_HDD/mybackup.tar.gz#这会将您的/home目录解压缩到他的位置

这就是全部。当然,这不是没有错误,并且仅在系统有1位用户等的情况下有效。


备份已安装软件包列表的好提示。应该早就知道这一
件事了

ppa:nilarimogard / webupd8用来做什么?
rubo77 2014年

@ rubo77:它用于启动板-getkeys。不确定仍然需要。这是一个老答案。
Frantique 2014年

2

我找到了一种解决此问题的简单方法,而无需使用CD,仍然可以在线升级。

快速总结

  1. 安装Apache
  2. 在/ var / www中获取文件http://changelogs.ubuntu.com/meta-release
  3. 调整下载的文件
  4. 调整系统文件以指向您的服务器和下载的文件
  5. 激活默认的Apache服务器
  6. 干得好!

注:(更新2014-07-25)又见Rubo77回答这里。它避免安装Apache。

详细资料

1)安装Apache(如果已安装,请跳过): sudo apt-get install apache2

2)在本地获取文件

cd /var/www
sudo wget http://changelogs.ubuntu.com/meta-release

3)更新文件

删除Karmic之后的所有版本,并Supported: 0通过将0替换为Karmic来更改行。

4)调整一些系统文件:

编辑/ etc / update-manager / meta-release并修改:

URI = http://127.0.0.1/meta-release
URI_LTS = http://127.0.0.1/meta-release

(是的,删除URI_LTS的“ -lts”部分)

5)激活apache默认服务器: sudo a2ensite default

5.1)处于中间状态,请检查该状态是否正常

cd /tmp
wget http://127.0.0.1/meta-release

5.2)如果出错,请尝试重新启动Apache2:

`sudo /etc/init.d/apache2 restart`

6)升级:查看Ubuntu社区文档中详细说明。快速摘要:

6.1)请确保您具有以下source.list(/etc/apt/sources.list)。

## EOL upgrade sources.list
# Required
deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ jaunty-security main restricted universe multiverse

# Optional
#deb http://old-releases.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
#deb http://old-releases.ubuntu.com/ubuntu/ jaunty-proposed main restricted universe multiverse

6.2)更新软件包列表并升级所有已安装的软件包

sudo aptitude update && sudo aptitude safe-upgrade

6.3)执行版本升级

sudo do-release-upgrade

替代路径

对于步骤4),请改为执行以下操作:

URI = http://changelogs.ubuntu.com/meta-release
URI_LTS = http://changelogs.ubuntu.com/meta-release

然后修改/ etc / hosts以将changelogs.ubuntu.com更改为您自己的服务器IP。添加新行:

127.0.0.1    changelogs.ubuntu.com

打扫干净

升级后,您可以删除apache2,还原系统文件(/ etc / update-manager / meta-release以及可能的/ etc / hosts)。


我已经尝试过,但是发现通常位于archive.ubuntu.com/ubuntu/dists的各种业力更新已被删除。结果是do-release-upgrade失败了吗?
皮特

您仍然需要遵循Ubuntu(EOL)生命周期终止升级指南:)您可以在此处找到它:help.ubuntu.com/community/EOLUpgrades/Jaunty它将建议您用旧版本替换archive.ubuntu.com。您的/etc/apt/sources.list中的.ubuntu.com问题中没有提到,但它暗示了(看到Yadnesh遇到的问题)
惠更斯(Huygens

@Pete我发送给您的资源是否解决了您的问题?它对您有用吗?
惠更斯(Huygens)

我最终尝试结合使用您的修复程序和另一个答案中提到的替代CD方法。令人遗憾的是,计算机无法远程响应,而我们的IT部门似乎只能挂载分区,而无法引导分区。全新安装,我来了!不管怎么说,多谢拉。
皮特

1
您不需要apache,只需使用pythons simpleHTTPServer。我在这里重新格式化您的答案:askubuntu.com/a/502485/34298
rubo77

1
sudo apt-get install update-manager-core

do-release-upgrade

但是根据您的错误消息,我怀疑您会得到不同的结果。我遇到了同样的错误,但尚未找到解决方案。


0

您不应该跳过发行版。即使yakkety是EOL,也有一种简便的方法可以升级标准方法:

首先创建sources.list的副本,然后将常规的本地化存档链接替换为“ old-releases”:

cp -a /etc/apt/sources.list /etc/apt/sources.list.old
sed -i -e 's/de.archive/old-releases/' /etc/apt/sources.list

de.archive用您的国家代码代替)nano /etc/apt/sources.list

如果适用,请注释掉“伙伴”和“安全”的条目:

#deb http://archive.canonical.com/ubuntu yakkety partner
#deb http://security.ubuntu.com/ubuntu yakkety-security main restricted
#deb http://security.ubuntu.com/ubuntu yakkety-security universe
#deb http://security.ubuntu.com/ubuntu yakkety-security multiverse

apt-get更新

告诉升级程序仍然支持当前版本和下一个版本-该部分不正确,但是需要进行升级才能工作。

nano /var/lib/update-manager/meta-release

并更改“ yakkety”和“ zesty”的条目。将“支持”设置为“ 1”,资源将全部链接到“旧版本”。

对于每个释放步骤(从yakkety到zesty,然后从stysty到artful,...)运行一次。

do-release-upgrade
do-release-upgrade
...

然后,如果之前启用了“伙伴”存储库,则再次启用它:

nano /etc/apt/sources.list

来源:https : //andreas.scherbaum.la/blog/archives/950-Upgrade-from-Ubuntu-16.10-yakkety-to-17.10-artful.html


-1

自动,远程,增量更新到最新版本

我不会重复别人的回答,但是我确实知道如何实现从一个旧发行版到最新发行版的效果。这需要访问安装了终端和ssh的另一台计算机,以便您可以通过在外壳中使用ssh和循环来自动执行该过程。

只是为了扩展先前的答案,这是如何通过ssh使用无密码升级来远程执行与接受的答案相同的操作,这将使您的设备升级到最新版本。它是从我自己的博客条目中复制的。

所有这些步骤都假定您的软件包存储库正在运行。这意味着,如果执行apt-get update,由于版本过旧,因此不会显示很多404。您需要首先解决该问题,因此请参见此答案

0.更新所有现有软件包

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

1.设置无密码执行

通过将自己添加到可以使用sudo执行do-release-upgrade而无需输入密码的用户列表中,方法是执行以下命令

sudo visudo -f /etc/sudoers.d/do-release-upgrade.

并添加以下行,当然用my-username代替您自己的用户名:

my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade

2.开始增量升级

注销并从计算机执行以下命令。它将执行升级而不会提示您输入(接受所有默认答案),等待计算机重新启动,然后再次尝试升级。它会一直运行,直到您升级到最新版本。

while true; do 
    ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
    sleep 120; 
done

3.将配置文件修复为以前的状态

之后,您将必须将备份的配置文件移至其先前的位置,因为升级过程已将默认配置放置在其位置。

对默认答案不满意?

这个人有办法为每个提示预先准备答案,但缺点是您必须知道有多少提示…


-6

打开一个终端,运行,sudo update-manager -d然后离开!


6
这是不正确的,这会将计算机升级到发行版本。
Jorge Castro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.