当Ubuntu服务器版本与现在支持的版本差距过大的话,使用do-release-upgrade命令会收获如下错误

An upgrade from 'xxx' to 'xxx' is not supported with this tool.

很显然,没办法从18.10直接升级到20.04.1LTS这样,因为18.10不在支持列表里了,在20.04.1以前,我们可以直接修改/var/lib/update-manager/meta-release来进行版本升级,类似18.10->19.04->19.10这样子。

这个方法是通过修改meta-release中support: 0 -> support :1,并且删除更新的版本的数据来实现的,但是现在20.04.1或者不知道哪一次版本升级开始,meta-release文件会在每次检测前重写,(那Ubuntu你提示升级干嘛,反正都不支持升级了),所以修改meta-release的方法就失效了。

但是没有关系,meta-release里面给给了我们各个版本的升级文件的链接

Dist: focal 
Name: Focal Fossa 
Version: 20.04.1 
LTS Date: Thu, 23 April 2020 20:04:00 UTC 
Supported: 1 
Description: This is the 20.04.1 LTS release 
Release-File: http://archive.ubuntu.com/ubuntu/dists/focal-updates/Release 
ReleaseNotes: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/ReleaseAnnouncement 
ReleaseNotesHtml: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/ReleaseAnnouncement.html 
UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz 
UpgradeToolSignature: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz.gpg

注意里面的UpgradeTool,每一个版本的升级工具都有

所以方案就是手动下载这个update-tool进行升级,无视do-release-upgrade的限制。

mkdir /tmp/upgrade
cd /tmp/upgrade
wget http://old-releases.ubuntu.com/ubuntu/dists/xxxxx-updates/main/dist-upgrader-all/current/xxxxx.tar.gz #xxxx为版本代码
tar -xf disco.tar.gz
python3 ./dist-upgrade.py

通过手动下载升级工具一个个版本往上升级到最新的支持的版本

最后,记得给自己加个日历,在版本支持结束之前就完成升级,避免这种不支持的版本的尴尬。

分类: Linux

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注