当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
通过手动下载升级工具一个个版本往上升级到最新的支持的版本
最后,记得给自己加个日历,在版本支持结束之前就完成升级,避免这种不支持的版本的尴尬。
声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
云曦的秘密基地
本文地址: 跨多版本升级Ubuntu
本文地址: 跨多版本升级Ubuntu