sudo do-release-upgrade
从18.10升级到19.10,但是我只收到一个错误:An upgrade from 'cosmic' to 'eoan' is not supported with this tool.
我执行了更新我的sources.list
的步骤,指向旧版本服务器,如此处建议:How to install software or upgrade from an old unsupported release?
这并没有帮助。我仍然收到相同的错误。sudo do-release-upgrade
从18.10升级到19.10,但是我只收到一个错误:An upgrade from 'cosmic' to 'eoan' is not supported with this tool.
我执行了更新我的sources.list
的步骤,指向旧版本服务器,如此处建议:How to install software or upgrade from an old unsupported release?
这并没有帮助。我仍然收到相同的错误。升级仍然是可能的,你只需要按照这篇博客文章中的指示来修改一些文件,以便首先升级到19.04版本。我成功地按照他的方法进行了升级。
引用博客上的内容:
在18.10系统上运行do-release-upgrade
。这将导致出现不支持的错误。但在幕后,工具会下载一些我们想要修改的元数据文件。/var/lib/update-manager
目录,并将文件meta-release
复制到一个新文件meta-release2
中。这个文件是由do-release-upgrade
从互联网上下载的,它告诉升级程序如何进行升级。meta-release2
文件。完全删除所有关于eoan
的条目。修改disco
条目,使其显示为Supported: 1
。/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py
。将以下代码行更改为:
self.metarelease_information = open(self.METARELEASE_FILE, "r")
更改为:
self.metarelease_information = open(self.METARELEASE_FILE + "2", "r")
这将告诉升级程序使用您修改后的文件而不是原始文件。(这也将避免任何重新下载覆盖您的更改。)do-release-upgrade
。现在应该正在进行18.10 → 19.04的升级。让它正常运行并重新启动。/var/lib/update-manager/meta-release2
文件。do-release-upgrade
即可。不需要任何黑客操作,您回到了正常的升级路径上。FileNotFoundError: [...]/.cache/update-manager-core/meta-release2'
的错误。要解决这个问题,只需在缓存目录中创建一个包含来自meta-release文件的所有编辑(第3步)的meta-release2文件即可。 - jonasstaehledo-release-upgrade
能做到的事情。 - Daniel Fhttp://archive.ubuntu.com
更改为http://old-releases.ubuntu.com/
。否则,在执行“do-release-upgrade”时会出现404错误。 - ikaerommeta-release2
,它在我的家目录下的.cache
文件夹中缺失。操作似乎卡在一个日志文件的中间,我没有返回到提示符。我通过按下Ctrl+C终止操作,然后运行sudo do-release-upgrade
来解决这个问题。在此之前,我只运行了do-release-upgrade
。所以确保你使用sudo
升级到下一个版本。 - Samirmeta-release2
文件... - Nicolas Holthauscp meta-release meta-release2
命令,所以我创建了一个副本,然后修改了MetaRelease.py
文件来使用第二个版本。这一切都是按计划进行的,我对此非常确定。 - Samirsudo
会导致未处理的异常,并且我有截图来证明。这个问题可以通过sudo do-release-upgrade
或者在安全壳中运行所有命令时使用sudo -i
来解决。 - Samirsudo do-release-upgrade
,可以正确地选择文件。 - Cedric Reichenbachself.metarelease_information = f
替换为self.metarelease_information = open(self.METARELEASE_FILE + "2", "r")
(因为服务器似乎即使在后续运行中也不总是报告304)。 - Cedric Reichenbachsysopch
在blog上建议的那样。
mkdir /tmp/upgrade
cd /tmp/upgrade
wget http://old-releases.ubuntu.com/ubuntu/dists/disco-updates/main/dist-upgrader-all/current/disco.tar.gz
tar -xf disco.tar.gz
python3 ./dist-upgrade.py
do-release-upgrade
似乎没有出错,但是我个人没有升级到19.10(我对19.04很满意)。**sudo** python3 ./dist-upgrade.py
。archive.ubuntu.com
和 security.ubuntu.com
替换为 old-releases.ubuntu.com
,然后才能运行升级程序。 - Get Off My Lawn...
...
Supported: 1
...
现在回到第4步...
注意3:我刚刚进行了一个18.04 LTS的更新,它的过程是:18.04 -> 19.10 -> 20.04。所以它没有直接从18.04 -> 20.04...令人困惑
sources.list
到http://old-releases.ubuntu.com/ubuntu/
,这样apt-get
才能正常工作。18.10 => 19.04(当19.04还在当前版本时,但现在已经不是了,它已经到了生命周期结束)
19.04 => 19.10(当19.10还在当前版本时)
19.10 => 20.04(总是?当它在当前版本时?)
18.04 => 20.04(总是?当它在当前版本时?)
附带一些信息的链接
以下是绕过不支持升级的步骤。
升级之前,请确保您的系统已经安装了最新的更新:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
# Reboot if needed.
sudo sed -i'.bak' "s/supported = int/supported = 1|int/" /usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py
sudo do-release-upgrade
我使用了以下指南:
简而言之,该文章并非“升级”,而是通过欺骗系统以为当前版本是19.10,并执行常规的“更新”操作:
记住,我遇到了一些错误,需要运行We need to run the following command to change all instances of
cosmic
toeoan
in the source list file (/etc/apt/sources.list). Cosmic is the code name for Ubuntu 18.10, whereas eoan is the code name for Ubuntu 19.10.sudo sed -i 's/cosmic/eoan/g' /etc/apt/sources.list
Then we need to disable third-party repositories (PPAs) with the command below.
sudo sed -i 's/^/#/' /etc/apt/sources.list.d/*.list
sudo apt clean
和sudo apt install -f
来解决。有时在修复其他错误信息后,我不得不多次执行这些命令。幸运的是,通过谷歌搜索和Ask Ubuntu上的答案,我成功完成了任务。