我目前正在使用Ubuntu 10.04。我知道有10.10版本,但是我可以直接升级到11.04吗?您能带我一步步吗?
do-release-upgrade
跳过版本?(不仅是LTS到LTS的升级!)
我目前正在使用Ubuntu 10.04。我知道有10.10版本,但是我可以直接升级到11.04吗?您能带我一步步吗?
do-release-upgrade
跳过版本?(不仅是LTS到LTS的升级!)
Answers:
Ubuntu仅支持从一个版本升级到下一版本,或从一个LTS版本升级到下一LTS版本。因此,您需要从10.04升级到10.10,然后再升级到11.04。
有此限制的技术原因。安装现有软件包的新版本时,有时必须执行转换,例如,可能必须将现有设置导入新的数据库格式。在执行此类转换时,打包脚本必须对旧格式进行假设。如果支持从所有早期版本的Ubuntu进行升级,那么它将很快成为维护的噩梦,因为打包脚本必须能够将所有以前使用的格式转换为当前格式。为避免噩梦,打包脚本仅在一般情况下支持从以前的Ubuntu版本中包含的软件包版本升级(对于LTS版本中包含的软件包,则从以前的LTS 版本进行升级)。
可以直接从倒数第二个或更早的版本升级到当前版本(称为“跳过升级”),但可能会导致系统配置错误。
/etc/update-manager/release-upgrades
为lts
。您必须将其更改回以normal
使升级再次正常工作。至少,这是我的经验。
强烈建议不要从比以前的版本更旧的版本(在这种情况下是非常旧的版本)更新到当前版本。最好下载新版本,进行备份,然后安装新版本。
如果您使用的是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,则需要从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至11.04
重要信息-确保已更新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。
使用标准的升级方法。
LTS版本升级是唯一在标准版本之外进行版本升级的“点对点”版本升级。换句话说,您可以从8.04-> 10.04和10.04-> 12.04升级,而不必同时升级到这三个其他非LTS版本。否则,您需要转到10.10,然后转到11.04。既然您还不算太晚,不应该花很长时间。只需像往常一样运行更新管理器,然后遵循链至11.04。
如果要尝试,您可以简单地弹出11.04磁盘并通过10.10安装进行安装。这应该使您的所有主文件夹内容保持完整,但是将导致您必须重新安装“重新安装”之前拥有的所有软件。
您不能在升级之间跳过版本。Jaunty和Lucid之间的版本是Karmic。我建议您备份重要数据并进行完整的重新安装,因为许多事情已经发生了变化,包括引导加载程序。
如果您不喜欢全新安装,则可以使用备用CD进行升级。
准备工作:
下面介绍了使用备用CD进行的升级:
ubuntu-9.10-alternate-i386.iso
从http://releases.ubuntu.com/karmic/到你的home目录(替换i386
用amd64
,如果你已经在64位系统,并ubuntu
与kubuntu
用于KDE)打开一个终端并运行:
sudo mount -o loop ~/ubuntu-9.10-alternate-i386.iso /media/cdrom
通过执行以下命令开始升级:
gksu "sh /media/cdrom/cdromupgrade"
如果您使用的是KDE(Kubuntu):
kdesudo "sh /media/cdrom/cdromupgrade"
从9.04升级到9.10后,请使用以下步骤升级到10.04:
sudo do-release-upgrade -d
ppa-purge
)。在将发行版升级到10.04之前,确保9.10是最新的也是一个好主意……
是的,没有!
是的,这是可能的-我已经看到一些人尝试通过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并在全新安装中将其还原。这通常可以正常工作-但是-我个人更喜欢进行全新安装,从备份中复制特定文件。仅复制特定文件的好处是可以清除您多年来积累的所有垃圾。
/home
在最终用户桌面上是可以的,但是在服务器上,您可能有大量的设置/etc/...
需要重新安装,而如果您安装新的OS,则需要花很长时间才能完成。
您可以执行上述方法,而不必安装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...
感谢这个解决的问题,我在升级旧系统时遇到了问题。但是,我使用了一项增强功能,可以使此操作更加容易-无需安装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
。
升级Ubuntu时不能跳过发行版。因此,您需要先升级到9.10,然后再从9.10升级到10.04。
有时Jaunty失去了支持。Jaunty(Karmic)提供的下一个版本也不再受支持。
您也不能将中间版本从9.04跳到10.4-您必须通过9.10。
由于Jaunty和Karmic均已从主要存储库中删除,因此最好的升级方法是下载桌面ISO 10.04并重新安装。
当然,您应该在安装之前备份/ home中所有未隐藏的文件。您可以在以后还原这些。
几乎所有的答案都是不可以,但实际上只要您做对就可以。本文介绍了如何:
链接中的完整文章包括在下面,但请检查链接中是否有来自用户的新评论。我要指出的是,您可以直接从16.04成功升级到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发行版升级管理器如何在后台运行。唯一的不同是,我们将更改为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
要在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
将迪斯科变回仿生。保存并关闭文件。
对于计划进行全新安装的用户,请执行以下步骤。
您将需要:单独的磁盘,建议使用外部HDD。
your_mount_point_of_external_HDD=/media/USBDRIVE
sudo tar czvf /media/$your_mount_point_of_external_HDD/mybackup.tar.gz /home
#备份/ home文件夹。sudo tar czvf /media/$your_mount_point_of_external_HDD/mysources.tar.gz /etc/apt/
#备份您的存储库。sudo dpkg --get-selections > /media/$your_mount_point_of_external_HDD/mypackages
#列出已安装的软件包your_mount_point_of_external_HDD=/media/USBDRIVE
cd /; sudo tar xvzf /media/$your_mount_point_of_external_HDD/mysources.tar.gz
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
如果知道如何操作,则可以手动编辑文件)sudo apt-get update
#在这里您可能会看到缺少键的错误。要快速绕过它们:
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys
dpkg --clear-selections && dpkg --set-selections < /media/$your_mount_point_of_external_HDD/mypackages
#这样您将重新安装软件包。cd / && tar xvzf /media/$your_mount_point_of_external_HDD/mybackup.tar.gz
#这会将您的/home
目录解压缩到他的位置这就是全部。当然,这不是没有错误,并且仅在系统有1位用户等的情况下有效。
我找到了一种解决此问题的简单方法,而无需使用CD,仍然可以在线升级。
快速总结
注:(更新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)。
您不应该跳过发行版。即使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
我不会重复别人的回答,但是我确实知道如何实现从一个旧发行版到最新发行版的效果。这需要访问安装了终端和ssh的另一台计算机,以便您可以通过在外壳中使用ssh和循环来自动执行该过程。
只是为了扩展先前的答案,这是如何通过ssh使用无密码升级来远程执行与接受的答案相同的操作,这将使您的设备升级到最新版本。它是从我自己的博客条目中复制的。
所有这些步骤都假定您的软件包存储库正在运行。这意味着,如果执行apt-get update,由于版本过旧,因此不会显示很多404。您需要首先解决该问题,因此请参见此答案。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
通过将自己添加到可以使用sudo执行do-release-upgrade而无需输入密码的用户列表中,方法是执行以下命令
sudo visudo -f /etc/sudoers.d/do-release-upgrade.
并添加以下行,当然用my-username代替您自己的用户名:
my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade
注销并从计算机执行以下命令。它将执行升级而不会提示您输入(接受所有默认答案),等待计算机重新启动,然后再次尝试升级。它会一直运行,直到您升级到最新版本。
while true; do
ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
sleep 120;
done
之后,您将必须将备份的配置文件移至其先前的位置,因为升级过程已将默认配置放置在其位置。